Ole*_*lov 5 java crash android oncreate
在 Google Play 上,我NullPointerException在尝试访问静态Application实例时收到一条消息。它出现在不同的 Android 操作系统版本上:Android 9、8 和 6。
从代码来看,似乎Application.onCreate()尚未被调用或在之后调用Activity.onCreate()。
我看到了类似的问题,但没有任何有用的回应:
应用程序 onCreate 在 Activity onCreate 之后调用(未调用)
Android Activity::onCreate 在 Application.onCreate 之前调用
作为一个侧面解决方案,我将创建一个单独的单例类,Context并根据Context. 但是,我不确定它如何与 Dagger 一起使用。
我的问题是:
public class App extends androidx.multidex.MultiDexApplication implements Application.ActivityLifecycleCallbacks, ComponentCallbacks2 {
private static App instance;
public static App getInstance() {
return instance;
}
@Override
public void onCreate() {
super.onCreate();
instance = this;
// init singletone
}
private Singletone singletone;
public Singletone getSingletone() {}
}
public class MainActivity extends androidx.appcompat.app.AppCompatActivity {
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// On Google Play it produces NullPointerException
Singletone singletone = App.getInstance().getSingletone();
}
}
Run Code Online (Sandbox Code Playgroud)
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.package.name">
<application
android:name=".app.App"
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:roundIcon="@mipmap/ic_launcher_round"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme.NoActionBar"
android:largeHeap="true"
>
<activity
android:name=".activities.MainActivity"
android:screenOrientation="portrait"
android:launchMode="singleTask"
android:windowSoftInputMode="adjustPan"
android:theme="@style/AppTheme.NoActionBar.Launcher"
>
</activity>
</application>
</manifest>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
622 次 |
| 最近记录: |