Why imageView.setLayerType(View.LAYER_TYPE_SOFTWARE, null); and <application android:hardwareAccelerated="false" have different effect?

Seraphim&#39;s picture Seraphim's · Jul 23, 2013 · Viewed 10k times · Source

I wonder why if I set

<application
   android:hardwareAccelerated="false"

using svg-android i see no image (due to hw acceleration problem?), but if I set

imageView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);

I can get it to work.

Does View.LAYER_TYPE_SOFTWARE disables the hw acceleration or not?

Answer

Wei WANG picture Wei WANG · Apr 3, 2014

The direct answer to your question

(Does View.LAYER_TYPE_SOFTWARE disables the hardware acceleration or not?)

is YES.

It actually disable hardware acceleration, but only at a view level, i.e. hardware acceleration is disabled in ImageView in your case, while setting android:hardwareAccelerated="false" will disable hardware acceleration for your whole application.

For more detailed, please refer this link.