空白解决方案,
<!-- 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