1 系统语言切换相关
Android 项目开发填坑记 - 获取系统语言(兼容7.0)
改变系统语言后,重新进入处于后台的APP,会重走onCreate方法: Android如何去处理运行时配置的改变?
1.1 阿拉伯语适配(RTL)
2 SharedPreference 导致 ANR
ANR 如下(主要集中在 5.0 和 5.1 三星等手机上):
"main" prio=5 tid=1 Waiting
| group="main" sCount=1 dsCount=0 obj=0x77751000 self=0xb4427800
| sysTid=3377 nice=-4 cgrp=default sched=0/0 handle=0xb6fdebec
| state=S schedstat=( 0 0 0 ) utm=94718 stm=70129 core=2 HZ=100
| stack=0xbe4f6000-0xbe4f8000 stackSize=8MB
| held mutexes=
at java.lang.Object.wait! (Native method)
- waiting on <0x0bbd135f> (a java.lang.Object)
at java.lang.Thread.parkFor (Thread.java:1220)
- locked <0x0bbd135f> (a java.lang.Object)
at sun.misc.Unsafe.park (Unsafe.java:299)
at java.util.concurrent.locks.LockSupport.park (LockSupport.java:157)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt (AbstractQueuedSynchronizer.java:813)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly (AbstractQueuedSynchronizer.java:973)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly (AbstractQueuedSynchronizer.java:1281)
at java.util.concurrent.CountDownLatch.await (CountDownLatch.java:202)
at android.app.SharedPreferencesImpl$EditorImpl$1.run (SharedPreferencesImpl.java:363)
at android.app.QueuedWork.waitToFinish (QueuedWork.java:88)
at android.app.ActivityThread.handleStopActivity (ActivityThread.java:4615)
at android.app.ActivityThread.access$1300 (ActivityThread.java:211)
at android.app.ActivityThread$H.handleMessage (ActivityThread.java:1734)
at android.os.Handler.dispatchMessage (Handler.java:102)
at android.os.Looper.loop (Looper.java:145)
at android.app.ActivityThread.main (ActivityThread.java:6946)
at java.lang.reflect.Method.invoke! (Native method)
at java.lang.reflect.Method.invoke (Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:1404)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1199)
How to analyze ANR in sharedPreferences
SharedPreferences的apply和Commit方法的那些坑
Android SharedPreferences的理解与使用
深入理解 Android 中的 SharedPreferences
3 Manifest 中属性相关
AndroidManifest.xml文件–Application详解
4 Glide 相关
4.1 Glide 加载应用图标
Manage all your Glides in a single class with GlideAppModule on Android