恢复活动后,进度栏为空

时间:2018-08-22 17:47:31

标签: android android-lifecycle android-video-player

我有这个MoviePageActivity,它会启动一个进度条以向用户提供视觉效果,直到成功获取并显示数据为止。

当我将应用程序从此活动(MoviePageActivity的一个实例)放到后台时,在旧的nexus 5x手机上进行了一些繁重的任务,例如观看打开youtube视频或玩游戏再返回我的应用,我的应用程序崩溃并显示NullPointerException,进度条为null,这意味着活动中的所有组件均为null。

以下是导致崩溃的原因:

public void setMovieInfo(Movie movie, Context context) {
    // Stop/hide all ongoing progress bars (loading)
    mSummaryLoading.setVisibility(View.GONE);
    // ....
}

错误:

java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.ProgressBar.setVisibility(int)' on a null object reference

1 个答案:

答案 0 :(得分:0)

系统销毁活动实例并在后台将其重新创建以节省内存是很正常的。为了使您的应用在这种情况下正常工作,您需要考虑saving UI states