I’ve implemented a custom view, in my view I display another set of views (carousel) while drag I apply different effects to child views like scale, alpha etc… to achieve this I get drawing cache of view and do required transformation to the bitmap matrix.
I’ve found that getDrawingCache() method is slow enough, what I am looking for is an alternate approach.
How is it possible to transform some view without touching it’s drawing cache?
getDrawingCache() is as fast as View.draw(). It creates a Bitmap if necessary and calls View.draw() to render into this bitmap. There’s nothing inherently slow about getDrawingCache() (except the allocation of the Bitmap itself) so I suggest you profile your code to understand why it takes so long to render your views.
It could also be that you are somehow calling invalidate() on the Views on every frame, causing getDrawingCache() to redraw the View every time.