Android 2.1 闪屏
来源:互联网 发布:移动网络下载不了种子 编辑:程序博客网 时间:2024/05/01 01:51
移植过程中,小本的内核不支持double framebuffer,导致屏幕不断在刷。最后通过师兄的方法:
http://hi.baidu.com/aokikyon/blog/item/609ea74530b8f533879473be.html
刷屏的现象会好很多,但是打开程序的时候屏幕还是会闪。
后来在gingerbread的hardware/libhardware/modules/gralloc/Android.mk发现了一个新定义的宏:BOARD_NO_PAGE_FLIPPING
- include $(CLEAR_VARS)
- 21 LOCAL_PRELINK_MODULE := false
- 22 LOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)/hw
- 23 LOCAL_SHARED_LIBRARIES := liblog libcutils
- 24
- 25 LOCAL_SRC_FILES := /
- 26 gralloc.cpp /
- 27 framebuffer.cpp /
- 28 mapper.cpp
- 29
- 30 LOCAL_MODULE := gralloc.default
- 31 LOCAL_CFLAGS:= -DLOG_TAG=/"gralloc/"
- 32 ifeq ($(BOARD_NO_PAGE_FLIPPING),true)
- 33 LOCAL_CFLAGS += -DNO_PAGE_FLIPPING
- 34 endif
- 35
- 36 include $(BUILD_SHARED_LIBRARY)
然后就去找源码中这个宏的调用,在framebuffer.cpp中:
- // numbers of buffers for page flipping
- 46 #if defined(NO_PAGE_FLIPPING)
- 47 // page-flipping is buggy on some devices
- 48 #define NUM_BUFFERS 1
- 49 #else
- 50 #define NUM_BUFFERS 2
- 51 #endif
原来2.3中更好的支持了single framebuffer,可以不使用page flipping。
最终,我没有对2.1的代码作任何修改,直接把gingerbread的gralloc代码放到2.1的源码中去编译。
通过了 ,没有任何问题。
再把生成的gralloc.default.so放到小本上。果然,闪屏现象完全没了。
有空研究下gingerbread究竟做了那些具体的改进。
- Android 2.1 闪屏
- Android 闪屏
- android 闪屏
- cocos2dx调用android闪屏
- 将Android 1.5升级为Android 2.1
- android studio 2.1关联android源码
- Android 2.1 SDK 发布
- Android 2.1目录树
- Android SDK 2.1 install
- Android 2.1 开发环境
- Android 2.1 源码结构
- Android 2.1源码架构
- Android 2.1源码架构
- Android 2.1 Vold 分析
- Android 2.1移植
- Android 2.1 源码结构
- Android 2.1新特性
- Android 2.1 Vold 分析
- phone
- POJ_2002Squares解题报告
- fedora rpmfusion configure
- 移动硬盘故障解决1
- Android实现人人网点击“+”弹出效果
- Android 2.1 闪屏
- weblogic错误WebLogic Server is already using this directory.
- poj1456
- 关于 Java 的系统属性 sun.jnu.encoding 和 file.encoding 的区别
- poj1611
- Freemarker的内置函数及用法
- Linux下GeekOS开发流程及错误解决
- Android小经验---调试访问本地Apache方法
- 一种自动的将自定义类序列化为JSON的方法