android硬件加速后闪屏怎么办?急啊。

sophia3377 2012-07-23 05:38:01
在4.0.4上,一直没有焦点,后来用了硬体加速,就是

android:hardwareAccelerated="true"


然后发现 webview闪屏严重,特别是打开网页里面有登录框什么的,只要键盘弹出或是消去,屏的很严重。

现在是程序要必须要加android:hardwareAccelerated="true",webview也必须加速。

网上的方法全都是


setLayerType(View.LAYER_TYPE_SOFTWARE, null);


这是把webview 中的硬件加速关闭。设置LAYER_TYPE_SOFTWARE后会把当前view转为bitmap保存。这样就不能开多个webview,否则会报out of memory。


解决方法是在webview中加入:

protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
invalidate();
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
}



但是这样不行啊,只要设了
setLayerType(View.LAYER_TYPE_SOFTWARE, null),焦点就又没有了。。。

求大神啊,怎么既能加速,又不闪屏呢。非常感谢啊。急啊。
...全文
1058 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
zxd_java 2013-08-21
  • 打赏
  • 举报
回复
楼主 解决了没啊
码农的回忆 2013-06-26
  • 打赏
  • 举报
回复
我遇到的情况和你类似,求大神,我使用了iscroll 如果硬件加速关闭就不会闪屏,但是滑动就很卡,硬件加速开启滑动就顺畅,但是就会闪屏
chudeyincc1 2012-08-14
  • 打赏
  • 举报
回复
同感,希望哪位大侠赶快解救!
CNnumen 2012-07-25
  • 打赏
  • 举报
回复
硬件加速只是对图形变换有明显的提升, 如果你的界面不做动画(平移, 旋转等), 不用开启, 也不用setLayerType(View.LAYER_TYPE_SOFTWARE, null)开软缓存

80,472

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧