Android 2.1 闪屏

转载 2012年03月22日 00:32:55

 

移植过程中,小本的内核不支持double framebuffer,导致屏幕不断在刷。最后通过师兄的方法:

http://hi.baidu.com/aokikyon/blog/item/609ea74530b8f533879473be.html

刷屏的现象会好很多,但是打开程序的时候屏幕还是会闪。

后来在gingerbread的hardware/libhardware/modules/gralloc/Android.mk发现了一个新定义的宏:BOARD_NO_PAGE_FLIPPING

  1. include $(CLEAR_VARS) 
  2. 21 LOCAL_PRELINK_MODULE := false 
  3. 22 LOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)/hw 
  4. 23 LOCAL_SHARED_LIBRARIES := liblog libcutils 
  5. 24  
  6. 25 LOCAL_SRC_FILES :=  / 
  7. 26     gralloc.cpp     / 
  8. 27     framebuffer.cpp / 
  9. 28     mapper.cpp 
  10. 29  
  11. 30 LOCAL_MODULE := gralloc.default 
  12. 31 LOCAL_CFLAGS:= -DLOG_TAG=/"gralloc/" 
  13. 32 ifeq ($(BOARD_NO_PAGE_FLIPPING),true
  14. 33 LOCAL_CFLAGS += -DNO_PAGE_FLIPPING 
  15. 34 endif 
  16. 35  
  17. 36 include $(BUILD_SHARED_LIBRARY) 

然后就去找源码中这个宏的调用,在framebuffer.cpp中:

  1. // numbers of buffers for page flipping 
  2. 46 #if defined(NO_PAGE_FLIPPING) 
  3. 47 // page-flipping is buggy on some devices 
  4. 48 #define NUM_BUFFERS 1 
  5. 49 #else 
  6. 50 #define NUM_BUFFERS 2 
  7. 51 #endif 

原来2.3中更好的支持了single framebuffer,可以不使用page flipping。

最终,我没有对2.1的代码作任何修改,直接把gingerbread的gralloc代码放到2.1的源码中去编译。

通过了 ,没有任何问题。

再把生成的gralloc.default.so放到小本上。果然,闪屏现象完全没了。

有空研究下gingerbread究竟做了那些具体的改进。

相关文章推荐

android实现闪屏

  • 2016-05-07 17:48
  • 5.92MB
  • 下载

android闪屏页广告倒计时

  • 2017-02-11 12:02
  • 38.81MB
  • 下载

Android开发 关于避免切换主题时免闪屏的几种方式

Android开发关于避免切换夜间模式避免闪屏的几种方式在activity中调用setTheme来切换夜间模式的方法可能大家有看过相关的文章了,但是调用setTheme设置的主题后界面并没有变化,这时...

Android - 闪屏页(SplashActivity)的处理

Android - 闪屏页(SplashActivity)的处理

Android应用闪屏页延迟跳转的三种写法

闪屏页也称之为欢迎页。在打开一个App时,我们第一眼看到的往往是一个闪屏页面,之所以叫闪屏页,是因为它出现之后会短暂地停留几秒钟再跳转到其他页面。闪屏页除了使用户体验更好外,还能给app留出初始化数据...

Android NOtification 使用(震动 闪屏 铃声)

一、 Notification 简介 在 android 系统中,在应用程序可能会遇到几种情况需要通知用户,有的需要用户回应,有的则不需要,例如: * 当保存文件等事件完成,应该会出现一个小的...

(转)Android闪屏问题解决思路

闪屏问题作为Android的一类常见问题,原因复杂多样.我们在这里整理一下如何分析闪屏问题,找到具体导致闪屏问题的原因.

Kotlin Android 实战(一)闪屏页面

看了一些kotlin的语法,但是总觉得不真正写一下不行。 听说kotlin和java完全兼容,写了写发现,最小单位是类(java类中不能写kotlin代码,反之亦然)。 想在新项目中尝试一下的同学...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)