diff options
author | Romain Guy <romainguy@google.com> | 2012-06-20 23:59:06 -0700 |
---|---|---|
committer | Romain Guy <romainguy@google.com> | 2012-06-21 00:39:35 -0700 |
commit | 0d6f4c06df0b0e35125f088ca028c7226b274dc4 (patch) | |
tree | 07f80d37d7f6aa25031e78de13de09eba3cbc2be /api | |
parent | d7c00d2bdd011d3a73faf1c4a5bb8012d24dd648 (diff) | |
download | frameworks_base-0d6f4c06df0b0e35125f088ca028c7226b274dc4.zip frameworks_base-0d6f4c06df0b0e35125f088ca028c7226b274dc4.tar.gz frameworks_base-0d6f4c06df0b0e35125f088ca028c7226b274dc4.tar.bz2 |
Dejank: don't allocate when scrolling lists
The new display list properties introduces in JB were causing numerous
and expensive memory allocations while scrolling lists. During a scroll
ListView sometimes attempts to apply an offset to views before they are
drawn for the first time. This had the side effect of generating a new
IllegalStateException and its entire stack trace. The exception was
caught inside the display list and never seen by users.
Generating an exception is very expensive both in terms of allocated
memory and CPU time spent crawling the stack.
List scrolls/flings are a common case of this issue but it also happens
during various types of animations. A simple alpha animation, for instance,
can cause the problem to occur.
Another side effect of this issue is more frequent and longer GC pauses.
Change-Id: Ic1b37cc84f7c8f290209cfb990d030e96d6e0dc7
Diffstat (limited to 'api')
0 files changed, 0 insertions, 0 deletions