OSDN Git Service

Merge change 1372 into donut
authorAndroid (Google) Code Review <android-gerrit@google.com>
Mon, 11 May 2009 22:03:50 +0000 (15:03 -0700)
committerAndroid (Google) Code Review <android-gerrit@google.com>
Mon, 11 May 2009 22:03:50 +0000 (15:03 -0700)
commitecadabf578369def58e343c1adbb5537aa9801e4
treeb6c7b467af0f674f0f529086b95d489ad4b41d04
parentc7a21b5fe07837a1146f9781c1787100b8c04e84
parent263e019baafb3b6cbcfdef9c81d74a4bea769180
Merge change 1372 into donut

* changes:
  Fixes #1596240. Optimize invalidate/draw passes by marking opaque views and avoiding drawing them. Whenever a View requests an invalidate its parent check whether the view is opaque or not. When the view is not opaque, the framework behaves as it used to. However, when a view is opaque, the parent marks itself as being dirty because of an opaque view. Its parent then does the same, and so on. When the framework then starts drawing the views, it does not draw views marked as dirty opaque. If a view is dirty opaque and receives an invalidate request from a non-opaque view, it then clears the dirty opaque flag and behaves as before.