使用设备:华为P50e
问题情况:点击app上的按钮进行页面跳转时,app会停止运行
解决问题:
找到跳转页面的按钮的代码
DH_Button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(); intent.setClass(MainActivity.this, DH_Activity.class); startActivity(intent); finish(); onDestroy(); } });
注意最后两行的finish();和onDestroy();,我的问题就出现在这。
1、Activity.finish()
在你的activity动作完成的时候,或者Activity需要关闭的时候,调用此方法。
当你调用此方法的时候,系统只是将最上面的Activity移出了栈,并没有及时的调用onDestory ()方法,其占用的资源也没有被及时释放。因为移出了栈,所以当你点击手机上面的“back”按键的时候,也不会再找到这个Activity。
2、Activity.onDestory()
系统销毁了这个Activity的实例在内存中占据的空间。
在Activity的生命周期中,onDestory()方法是他生命的最后一步,资源空间等就被回收了。当重新进入此Activity的时候,必须重新创建,执行onCreate()方法。
只需要注释这两行代码就可以正常运行了,目前这个问题只会在华为手机出现,其他手机不注释这两行代码也能正常运行