android定位功能实现实现手机屏幕不断闪烁功能

Android画图避免屏幕闪烁_Linux编程_Linux公社-Linux系统门户网站
你好,游客
Android画图避免屏幕闪烁
来源:Linux社区&
作者:micro_rat
在处理一些复杂的界面时,往往要用view,SurfaceView来自己处理画图。比如用SurfaceView来贴两张图,并控制他们左右平移,基本代码如下:
&&&&&& Canvas c =&&&&&&& try {&&&&&&&&&&& c = mSurfaceHolder.lockCanvas(null);&&&&&&&&&&&&&&& &&&&&&&&&&& if (c != null) {&&&&&&&&&&&&&&& c.setDrawFilter(mFilter);&&&&&&&&&&&&&&& c.drawRect(0, 0, c.getWidth(), c.getHeight(), mBGPaint); //画背景&&&&&&&&&&&&&&& c.drawBitmap(bm1, 0, 0, null);
&&&&&&&&&&&&&&& c.drawBitmap(bm2,bm1.getWidth(), 0, null); //第二张图画在第一张旁边&&&&&&&&&&& }&&&&&&& } finally {&&&&&&&&&&& if (c != null) {&&&&&&&&&&&&&&& mSurfaceHolder.unlockCanvasAndPost(c);&&&&&&&&&&& }&&&&&&& }
控制它左右平移时,会发现屏幕非常闪烁,眼睛看着会非常累。研究以后发现,这是因为两张图是依次一张一张贴到屏幕上的,如果刷新频率高的话,会使屏幕非常的闪烁。
解决的办法其实非常简单,想起windows下开发解决画图闪烁的办法,先把要画的图先画好放在一张大的内存位图上,然后一下贴到屏幕。其实也是一样的,上面的问题解决方法如下:
&&&&&&& final Bitmap memBm = Bitmap.createBitmap(screenWidth, screenHeight, Bitmap.Config.RGB_565);
&&&&&&& final Canvas c = new Canvas(memBm);
&&&&&&& c.setDrawFilter(mFilter);&&&&&&& c.drawRect(0, 0, c.getWidth(), c.getHeight(), mBGPaint); //画背景&&&&&&& c.drawBitmap(bm1, 0, 0, null);&&&&&&&&&&&&&&
&&&&&&& c.drawBitmap(bm2,bm1.getWidth(), 0, null); //第二张图画在第一张旁边&&&&
&&&&&&& Canvas render =&&&&&&& try {&&&&&&&&&&& render = mSurfaceHolder.lockCanvas();&&&&&&&&&&& if (render != null) {&&&&&&&&&&&&&&& render.drawBitmap(memBm, 0, 0, null);&&&&&&&&&&& }&&&&&&& } finally {&&&&&&&&&&& if (render != null)&&&&&&&&&&&&&&& mSurfaceHolder.unlockCanvasAndPost(render);&&&&&&& }
&&&&&&& memBm.recycle(); //记得回收内存位图
这样处理后,view刷新将变得平滑,眼睛看着舒服多了。
相关资讯 & & &
& (07/13/:14)
& (08/11/:27)
& (05/06/:13)
& (04/17/:32)
& (05/31/:15)
& (04/02/:07)
   同意评论声明
   发表
尊重网上道德,遵守中华人民共和国的各项有关法律法规
承担一切因您的行为而直接或间接导致的民事或刑事法律责任
本站管理人员有权保留或删除其管辖留言中的任意内容
本站有权在网站内转载或引用您的评论
参与本评论即表明您已经阅读并接受上述条款当前位置: &
& 手机屏幕闪烁是为什么?怎么解决?
手机屏幕闪烁是为什么?怎么解决?
  手机屏幕闪烁是为什么?是手机屏幕坏了吗?该怎么解决?有遇到自己手机屏幕闪烁情况的,就来看下文的解决方法吧。  安卓手机屏幕闪烁解决方法  解决办法1:取消显示屏幕更新  如果你的手机系统是Android 4.0以上,那么可以尝试:  设置 -& 开发者选项(或者开发人员选项),将“显示屏幕更新”的勾选取消。  注意:此功能Android 4.0以上版本才有。  解决方法2:调整屏幕亮度设置  设置 -& 显示 -& 自动亮度调节,将这个功能关闭试试。  解决方法3:如果这两种方法依旧不行,尝试一下恢复出厂设置。如果依旧不好,那么建议最好去维修一下吧。看看是不是硬件问题。
上一篇 &:
下一篇 &:
文章链接://www.gezila.com/tutorials/42948.html
(转载时请注明本文出处及文章链接)鏈?笘鏈}

我要回帖

更多关于 cocos 实现屏幕闪烁 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信