我有许多只在条件下发生的崩溃报告,OnDestroy
在执行OnResume
之前或之后被调用。
在这种情况下,我使用上下文初始化类。我在null reference exception
中有getDefaultSharedPreferences
的崩溃报告,只有在this.context
为空时才会发生。只有在执行CalledByOnDestroy时,this.context
才为空。
这怎么可能?
public public class ImageProcessor {
private Context context;
// called by OnCreate
public ImageProcessor(Context context) {
this.context = context;
}
public void OnDestroyHandler() {
this.context = null;
}
@Override
public void OnResumeHandler() {
this.frameId = 0;
SharedPreferences defaultSharedPreferences = PreferenceManager.getDefaultSharedPreferences(this.context);
}
}
答案 0 :(得分:0)
在OnResumeHandler
中,您可以检查this.context == null,如果不是,则获取defaultSharedPreferences