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