android 启动的空白以及一些小bug

来源:互联网 发布:阿里云域名指向ip 编辑:程序博客网 时间:2024/06/06 01:34

空白解决方案,
<!-- Customize your theme here. -->
<!-- 启动时页面为透明色,避免显示空白页,好像有问题,还是空白页 -->
<item name="android:windowIsTranslucent">true</item>
<!-- 这个起作用,启动时有点延时,实际就是加载了透明的背景,如微信6.3.28 -->
<item name="android:windowBackground">@android:color/transparent</item>
<!-- 设置启动背景图片,避免显示空白页,如支付宝9.9.5 -->
<!-- <item name="android:windowBackground">@drawable/splash_bg</item> -->
<!-- 隐藏标题栏 -->
<item name="android:windowNoTitle">true</item>
<!-- 隐藏状态栏 -->
<item name="android:windowFullscreen">true</item>

  • 当你遇到这个错的时候,Couldn't load HDACEngine from loader dalvik.system.PathClassLoader[dexPath=/data/app/io.agora.openlive-1.apk,libraryPath=/data/app-lib/io.agora.openlive-1]: findLibrary returned null ,解决方案就是,在build中配置,路径不正确,一般情况下是这样的sourceSets {
    main {
    jniLibs.srcDirs = [‘libs’]
    }

  • listVIew跳转到item的某个位置,需要用setSelectionFromTop,不能setSelection在scroll,容易出现空白的item,

  • 反射真的很慢,ormlite比直接使用sql慢一倍,
  • activity中runOnUiThread,当Activity的finish了。依然会执行
  • view的addOnlayoutChangeListener监听layout的回调事件
  • view的getviewTreeObserver().addOnGlobalLayoutListener监听全局的layout的事件,当然你可以直接在baseActivity监听内容,让子类实现,如下
   protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        final View viewById = findViewById(Window.ID_ANDROID_CONTENT);        ViewTreeObserver viewTreeObserver = viewById.getViewTreeObserver();        viewTreeObserver.addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {            @Override            public void onGlobalLayout() {                if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {                    viewById.getViewTreeObserver().removeOnGlobalLayoutListener(this);                } else {                    viewById.getViewTreeObserver().removeGlobalOnLayoutListener(this);                }                Log.e("aaaaaa","aaaaaaaa");                initUIlandEvent();            }        });    }    /**     * 子activity中实现,可以实现一些监听事件,布局初始化了。     */    public abstract void initUIlandEvent();
  • 据说在app被卸载或者停止的时候,jni里fork出来的子线程,不会被停止,可以用于包活之类的
  • Activity的theme之类的都是给window的decorview设置的,生效面积大于activity
0 0
原创粉丝点击