关闭

Android 2.1 闪屏

标签: androidmoduleincludenumberslibrarybuild
747人阅读 评论(0) 收藏 举报

 

移植过程中,小本的内核不支持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究竟做了那些具体的改进。

0
0
查看评论

Android 2.1闪屏问题

<br />北大众志小本(MPRC)Android 2.1移植<br /> Android 2.1 闪屏<br /> <br />移植过程中,小本的内核不支持double framebuffer,导致屏幕不断在刷。最后通过师兄的方法...
  • fengkehuan
  • fengkehuan
  • 2011-03-15 19:42
  • 3683

Android合理的使用闪屏

说起闪屏就会莫名的引爆我的小暴脾气,为什么这么说呢? 每次启动一个App我都要盯着手机屏幕傻不拉几的待上几秒钟,即使我知道了这个App的功能到底是TMD是做什么的。因此从内心深处,我对闪屏是抵触的。我知道我打开的是什么该死的APP,我也知道用它来干嘛,求求你只要让我用它就行 OKay?? 好,吐...
  • zxm317122667
  • zxm317122667
  • 2016-03-28 20:53
  • 2846

Android闪屏效果实现方法

android的实现非常简单,使用Handler对象的postDelayed方法就可以实现。在这个方法里传递一个Runnable对象和一个延迟的时间。该方法实现了一个延迟执行的效果,延迟的时间由第2个参数指定,单位是毫秒。第一个参数是Runnable对象,里面包含了延迟后需要执行的操作。 // 闪屏...
  • a15838319826
  • a15838319826
  • 2017-05-27 09:28
  • 280

解决Android播放页闪屏问题

解决方法: 在Activity中的onCreate方法中添加getWindow().setFormat(PixelFormat.TRANSLUCENT);
  • hphua
  • hphua
  • 2016-11-29 15:35
  • 503

[Android效果]Android中实现闪屏的欢迎界面

实现如下: welcome_ui.xml<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.co...
  • CodeEmperor
  • CodeEmperor
  • 2015-08-06 11:24
  • 2414

Android进阶篇之引导页系列之Splash闪屏Log

最近比较闲,所以会陆续出很多基础型Demo和高级点的Demo,,小伙伴们肯定又要骂了,孙子又来装B了 在android应用中,其实闪屏是一个很重要的前期 先上效果图:就是一个页面,没有Logo和公司名几乎就是一张背景,又要挨骂了 很重要?,这不废话吗,不重要为什么每个应用都有呢。 嗯...
  • ye_scofield
  • ye_scofield
  • 2015-01-29 12:27
  • 7659

如何实现Android应用的启动画面(闪屏)?

Android的启动画面通常用来显示用户的某种形式的进度,在应用程序加载完全之前。有些人使用应用程序的启动动画,只是为了在几秒钟内显示其程序应用和公司的LOGO。不幸的是,和IOS相比,在Android中,我们没有任何内在的机制来显示启动画面。在本教程中,我们将学习如何实现Android应用程序的闪...
  • lyx4228716
  • lyx4228716
  • 2015-11-03 18:02
  • 3583

android基础---简易闪屏操作,通过动画实现

public class Splash extends Activity { private ImageView iv_splash; Intent intent; @Override protected void onCreate(Bundle savedInstanceState) { ...
  • zaizaisheng
  • zaizaisheng
  • 2014-06-05 21:28
  • 612

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

Android开发关于避免切换夜间模式避免闪屏的几种方式在activity中调用setTheme来切换夜间模式的方法可能大家有看过相关的文章了,但是调用setTheme设置的主题后界面并没有变化,这时需要调用activity的recreate方法另设置的主题生效,但是试过的朋友们都知道,activi...
  • qq_28385785
  • qq_28385785
  • 2017-04-09 00:21
  • 1786

android之 Activity跳转出现闪屏

同一个应用,在不同手机上测试,Activity之间跳转出现闪屏,界面来回跳转…… 查阅网上资料发现引起的有好几种情况: 1、由于finish原因,网传,在onPause()里延迟3s使用finish。 2、自己添加overridePendingTransition(xx,xx); Activi...
  • az313
  • az313
  • 2013-12-14 17:30
  • 3489
    个人资料
    • 访问:352945次
    • 积分:4818
    • 等级:
    • 排名:第7084名
    • 原创:49篇
    • 转载:503篇
    • 译文:0篇
    • 评论:15条
    最新评论