我正在阅读硬件加速,并看到它提到,您可以控制它在窗口,视图和活动级别。这么大的控制粒度有什么原因吗?我认为,如果您想禁用或启用硬件加速,应用程序级别就足够了。
发布于 2016-03-16 18:17:08
硬件加速的粒度有几个原因。在这个文章里,罗曼·盖伊( Romain )有很多优点。
其中一个特殊的场景是记忆中的紧张情况;以下是本文的引语:
由于硬件层消耗视频内存,强烈建议您只在动画期间启用它们。这可以通过动画侦听器来实现: view.setLayerType(View.LAYER_TYPE_HARDWARE,null);ObjectAnimator动画师= ObjectAnimator.ofFloat(视图,"rotationY",180);animator.addListener(新AnimatorListenerAdapter() { @Override (动画动画){ view.setLayerType(View.LAYER_TYPE_NONE,null);});animator.start();
因此,您可能只希望在某些视图上启用它们以节省内存,但仍然希望动画能够顺利运行,从而使用硬件加速。
其他原因可能是由于某些定制视图不正确地使用图形管道,所以您可能会遇到性能问题,或者屏幕撕裂,并希望在特定视图上关闭它。
https://stackoverflow.com/questions/36043607
复制相似问题