
Application 代码大体是这个样子的
public class MyApp extends Application { private static MyApp sApp; private static SharedPreferences sDefaultSP; @Override public void onCreate() { super.onCreate(); sApp = this; sDefaultSP = PreferenceManager.getDefaultSharedPreferences(this); } public static SharedPreferences getDefaultSP() { return sDefaultSP; } public static Application get() { return sApp; } 看回传的日志,在很少数量的用户设备上,某个 Activity.onCreate 调用 getDefaultSP()的时候,会获取到空值,引发崩溃。感觉挺奇怪的,正常系统重建不应该和 Application 有关系啊,即便是整个进程重建,也应该会再走一遍 Application.onCreate 才对啊。
1 lychee930224 Apr 29, 2025 我之前也有遇到过同样的问题,确实能观察到很小一部分这样案例。 |