android– 未启用硬件加速

android– 未启用硬件加速,第1张

概述可能是一些愚蠢的事情,但我试图在针对3.1的应用程序中启用硬件加速,每this tutorial.我在清单中添加了以下内容:<uses-sdk android:targetSdkVersion='12' android:minSdkVersion='12' /> <application ... an

可能是一些愚蠢的事情,但我试图在针对3.1的应用程序中启用硬件加速,每this tutorial.

我在清单中添加了以下内容:

在附加View后检查硬件加速状态(通过在重载onAttachedToWindow()中调用isHardwareAccelerated()),我返回true,所以看起来都很棒.问题是SurfaceView的Canvas没有被加速,因为canvas.isHardwareAccelerated()返回false.我正在检查surfaceCreated(),我也在那里得到了真的,所以不知道Canvas正在失去这个设置.

有什么指针吗?

EDIT1:

在Google Developers小组上找到了this和this,但是如果我在onAttachedToWindow()中检查了这个,我确实在查看附件后进行检查,对吧?这是在运行3.1 BTW的联想平板电脑上.

EDIT2:

我试过通过设置禁用加速

我仍然看到从onAttachedToWindow()中的View返回true,所以有些东西不在这里.我没有明确地从代码中调用hw accel,可能是特定于设备的问题?

此外,我在创建SurfaceView时在LogCat中偶尔看到以下行:

surface (identity=524) is invalid,err=-19 (No such device)

EDIT3:

只是在这里大声思考,但是有没有机会因为它是自己的线程,通过使用绘图循环的典型SurfaceView实现,如Lunar Lander,Canvas没有被加速?

最佳答案这是预期的行为. SurfaceView不是硬件加速的. (link)

从AndroID 4.0开始有一个新的TextureView(这里是example).
有关4.0之前的可用性,请参阅此SO question.

更新:刚刚在AndroID 4.0的transformer上测试,而TextureVIEw Canvas也没有进行硬件加速. : – /

更新AndroID 6.0:有一种新的硬件加速方法:
https://developer.android.com/reference/android/view/Surface.html#lockHardwareCanvas() 总结

以上是内存溢出为你收集整理的android – 未启用硬件加速全部内容,希望文章能够帮你解决android – 未启用硬件加速所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1139973.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-31
下一篇 2022-05-31

发表评论

登录后才能评论

评论列表(0条)