java.lang.RuntimeException:执行停止在android中不恢复的活动

我正在为一个项目工作好几天,工作正常。 但是,今天我在模拟器应用程序中运行我的应用程序,在启animation面上暂停不会主要活动,并显示错误: – Performing stop of activity that is not resumeava.lang.RuntimeException: Performing stop of activity that is not resumed

我的SplashScreen.java

 public class SplashScreen extends AppCompatActivity { private static int SPLASH_TIME_OUT = 3000; Boolean flag = false; public static Activity activity_splash; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); setContentView(R.layout.splash_screen); } public void onResume(){ super.onResume(); new Handler().postDelayed(new Runnable() { @Override public void run() { Intent i = new Intent(SplashScreen.this, MainActivity.class); startActivity(i); finish(); } }, SPLASH_TIME_OUT); } } 

我的Logcat: –

 11-10 13:56:01.721 1995-1995/shoppingmazza.android.catalyst.com.shoppingmazza E/ActivityThread: Performing stop of activity that is not resumed: {shoppingmazza.android.catalyst.com.shoppingmazza/shoppingmazza.android.catalyst.com.shoppingmazza.activity.MainActivity} 11-10 13:56:01.721 1995-1995/shoppingmazza.android.catalyst.com.shoppingmazza E/ActivityThread: java.lang.RuntimeException: Performing stop of activity that is not resumed: {shoppingmazza.android.catalyst.com.shoppingmazza/shoppingmazza.android.catalyst.com.shoppingmazza.activity.MainActivity} 11-10 13:56:01.721 1995-1995/shoppingmazza.android.catalyst.com.shoppingmazza E/ActivityThread: at android.app.ActivityThread.performStopActivityInner(ActivityThread.java:3465) 11-10 13:56:01.721 1995-1995/shoppingmazza.android.catalyst.com.shoppingmazza E/ActivityThread: at android.app.ActivityThread.handleStopActivity(ActivityThread.java:3550) 11-10 13:56:01.721 1995-1995/shoppingmazza.android.catalyst.com.shoppingmazza E/ActivityThread: at android.app.ActivityThread.-wrap20(ActivityThread.java) 11-10 13:56:01.721 1995-1995/shoppingmazza.android.catalyst.com.shoppingmazza E/ActivityThread: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1373) 11-10 13:56:01.721 1995-1995/shoppingmazza.android.catalyst.com.shoppingmazza E/ActivityThread: at android.os.Handler.dispatchMessage(Handler.java:102) 11-10 13:56:01.721 1995-1995/shoppingmazza.android.catalyst.com.shoppingmazza E/ActivityThread: at android.os.Looper.loop(Looper.java:148) 11-10 13:56:01.721 1995-1995/shoppingmazza.android.catalyst.com.shoppingmazza E/ActivityThread: at android.app.ActivityThread.main(ActivityThread.java:5417) 11-10 13:56:01.721 1995-1995/shoppingmazza.android.catalyst.com.shoppingmazza E/ActivityThread: at java.lang.reflect.Method.invoke(Native Method) 11-10 13:56:01.721 1995-1995/shoppingmazza.android.catalyst.com.shoppingmazza E/ActivityThread: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 11-10 13:56:01.721 1995-1995/shoppingmazza.android.catalyst.com.shoppingmazza E/ActivityThread: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 11-10 13:56:04.262 1995-1995/shoppingmazza.android.catalyst.com.shoppingmazza E/ActivityThread: Performing stop of activity that is not resumed: {shoppingmazza.android.catalyst.com.shoppingmazza/shoppingmazza.android.catalyst.com.shoppingmazza.activity.MainActivity} 11-10 13:56:04.262 1995-1995/shoppingmazza.android.catalyst.com.shoppingmazza E/ActivityThread: java.lang.RuntimeException: Performing stop of activity that is not resumed: {shoppingmazza.android.catalyst.com.shoppingmazza/shoppingmazza.android.catalyst.com.shoppingmazza.activity.MainActivity} 11-10 13:56:04.262 1995-1995/shoppingmazza.android.catalyst.com.shoppingmazza E/ActivityThread: at android.app.ActivityThread.performStopActivityInner(ActivityThread.java:3465) 11-10 13:56:04.262 1995-1995/shoppingmazza.android.catalyst.com.shoppingmazza E/ActivityThread: at android.app.ActivityThread.handleStopActivity(ActivityThread.java:3550) 11-10 13:56:04.262 1995-1995/shoppingmazza.android.catalyst.com.shoppingmazza E/ActivityThread: at android.app.ActivityThread.-wrap20(ActivityThread.java) 11-10 13:56:04.262 1995-1995/shoppingmazza.android.catalyst.com.shoppingmazza E/ActivityThread: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1373) 11-10 13:56:04.262 1995-1995/shoppingmazza.android.catalyst.com.shoppingmazza E/ActivityThread: at android.os.Handler.dispatchMessage(Handler.java:102) 11-10 13:56:04.262 1995-1995/shoppingmazza.android.catalyst.com.shoppingmazza E/ActivityThread: at android.os.Looper.loop(Looper.java:148) 11-10 13:56:04.262 1995-1995/shoppingmazza.android.catalyst.com.shoppingmazza E/ActivityThread: at android.app.ActivityThread.main(ActivityThread.java:5417) 11-10 13:56:04.262 1995-1995/shoppingmazza.android.catalyst.com.shoppingmazza E/ActivityThread: at java.lang.reflect.Method.invoke(Native Method) 11-10 13:56:04.262 1995-1995/shoppingmazza.android.catalyst.com.shoppingmazza E/ActivityThread: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 11-10 13:56:04.262 1995-1995/shoppingmazza.android.catalyst.com.shoppingmazza E/ActivityThread: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 11-10 13:56:06.857 1995-1995/shoppingmazza.android.catalyst.com.shoppingmazza E/ActivityThread: Performing stop of activity that is not resumed: {shoppingmazza.android.catalyst.com.shoppingmazza/shoppingmazza.android.catalyst.com.shoppingmazza.activity.MainActivity} 11-10 13:56:06.857 1995-1995/shoppingmazza.android.catalyst.com.shoppingmazza E/ActivityThread: java.lang.RuntimeException: Performing stop of activity that is not resumed: {shoppingmazza.android.catalyst.com.shoppingmazza/shoppingmazza.android.catalyst.com.shoppingmazza.activity.MainActivity} 11-10 13:56:06.857 1995-1995/shoppingmazza.android.catalyst.com.shoppingmazza E/ActivityThread: at android.app.ActivityThread.performStopActivityInner(ActivityThread.java:3465) 11-10 13:56:06.857 1995-1995/shoppingmazza.android.catalyst.com.shoppingmazza E/ActivityThread: at android.app.ActivityThread.handleStopActivity(ActivityThread.java:3550) 11-10 13:56:06.857 1995-1995/shoppingmazza.android.catalyst.com.shoppingmazza E/ActivityThread: at android.app.ActivityThread.-wrap20(ActivityThread.java) 11-10 13:56:06.857 1995-1995/shoppingmazza.android.catalyst.com.shoppingmazza E/ActivityThread: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1373) 11-10 13:56:06.857 1995-1995/shoppingmazza.android.catalyst.com.shoppingmazza E/ActivityThread: at android.os.Handler.dispatchMessage(Handler.java:102) 11-10 13:56:06.857 1995-1995/shoppingmazza.android.catalyst.com.shoppingmazza E/ActivityThread: at android.os.Looper.loop(Looper.java:148) 11-10 13:56:06.857 1995-1995/shoppingmazza.android.catalyst.com.shoppingmazza E/ActivityThread: at android.app.ActivityThread.main(ActivityThread.java:5417) 11-10 13:56:06.857 1995-1995/shoppingmazza.android.catalyst.com.shoppingmazza E/ActivityThread: at java.lang.reflect.Method.invoke(Native Method) 11-10 13:56:06.857 1995-1995/shoppingmazza.android.catalyst.com.shoppingmazza E/ActivityThread: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 11-10 13:56:06.857 1995-1995/shoppingmazza.android.catalyst.com.shoppingmazza E/ActivityThread: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 

MainActivity.java:-

 public class MainActivity extends AppCompatActivity implements FragmentDrawer.FragmentDrawerListener { // flag for Internet connection status Boolean isInternetPresent = false; // Connection detector class ConnectionDetector cd; private static String TAG = MainActivity.class.getSimpleName(); AlertDialogManager alert = new AlertDialogManager(); // Session Manager Class UserSessionManager session; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // Session class instance session = new UserSessionManager(getApplicationContext()); Toolbar mToolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(mToolbar); getSupportActionBar().setTitle(null); getSupportActionBar().setDisplayHomeAsUpEnabled(true); getSupportActionBar().setDisplayShowHomeEnabled(true); cd = new ConnectionDetector(getApplicationContext()); isInternetPresent = cd.isConnectingToInternet(); // check for Internet status if (isInternetPresent) { FragmentDrawer drawerFragment = (FragmentDrawer) getSupportFragmentManager().findFragmentById(R.id.fragment_navigation_drawer); drawerFragment.setUp(R.id.fragment_navigation_drawer, (DrawerLayout) findViewById(R.id.drawer_layout), mToolbar); drawerFragment.setDrawerListener(this); // display the first navigation drawer view on app launch displayView(0); } else { alert.showAlertDialog(MainActivity.this, "No Internet Connection", "You don't have internet connection.", false); } } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.menu_main, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { switch(item.getItemId()){ case R.id.action_search: Intent search = new Intent(MainActivity.this,SearchActivity.class); startActivity(search); return true; case R.id.login: if(session.checkLogin()) finish(); else { Intent intent = new Intent(MainActivity.this,MyAccount.class); startActivity(intent); } return true; case R.id.my_order: alert.showAlertDialog(MainActivity.this,"Alert","This Page Under Maintenance",false); return true; case R.id.wishlist: if(session.checkLogin()){ finish(); } else { Intent wishlistIntent = new Intent(MainActivity.this,WishList.class); startActivity(wishlistIntent); } default: return super.onOptionsItemSelected(item); } } @Override public void onDrawerItemSelected(View view, int position) { displayView(position); } private void displayView(int position) { Fragment fragment = null; String title = getString(R.string.app_name); switch (position) { case 0: /* fragment = new HomeFragment(); title = getString(R.string.title_home);*/ Intent intentHome = new Intent(MainActivity.this,MainActivity.class); startActivity(intentHome); break; case 1: Intent intent = new Intent(MainActivity.this,ShopByCategory.class); startActivity(intent); break; case 2: break; case 3: /* Intent intentTodayDeal = new Intent(MainActivity.this,TodayDeal.class); startActivity(intentTodayDeal);*/ /*Intent intent = new Intent(MainActivity.this,ShopByCategory.class); startActivity(intent);*/ break; case 4: Intent intentTrackYourOrder = new Intent(MainActivity.this,MainActivity.class); startActivity(intentTrackYourOrder); break; case 5: Intent intentLegal = new Intent(MainActivity.this,Legal.class); startActivity(intentLegal); break; case 6: break; case 7: break; case 8: break; case 9: break; default: break; } if (fragment != null) { FragmentManager fragmentManager = getSupportFragmentManager(); FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); fragmentTransaction.replace(R.id.container_body, fragment); fragmentTransaction.commit(); // set the toolbar title getSupportActionBar().setTitle(null); getSupportActionBar().setLogo(R.drawable.ic_launcher); } } } 

Solutions Collecting From Web of "java.lang.RuntimeException:执行停止在android中不恢复的活动"

MainActivity onCreate ,如果有互联网访问,你将调用displayView(0); 。 在displayView

 case 0: Intent intentHome = new Intent(MainActivity.this,MainActivity.class); startActivity(intentHome); break; 

在这里,您再次启动MainActivity ,因此应用程序陷入无限循环。 最终它崩溃。

飞溅是正确的。 问题是内存。

如果应用程序有互联网总是调用displayView(0); 打开另一个MainActivitytypes的活动

  private void displayView(int position) { switch (position) { case 0: Intent intentHome = new Intent(MainActivity.this,MainActivity.class); startActivity(intentHome); break; 

循环的意图,直到你内存不足

在这里输入图像说明

要解决问题,请停止调用相同的活动。

尝试把日志在这里和那里。 我会马上put startActivity(i)看看finish(); 被执行。 看来,你进入MainActivity onCreate()方法的无限循环。 MainActivityonResume()永远不会完成,所以你会得到一个exception。

尝试从处理程序中取出finish(),并在Splash Activity的onPause()中调用它。

这就是说,如果我正在做一个闪屏,我可能会把它作为我的主屏幕布局的一部分,然后在一段时间后隐藏它。 这样我根本不需要飞溅的活动。

尝试把新的Handler()…代码块放在onCreate()方法中。

将post延迟调用移动到onCreate()。 在调用finish()之前添加检查isResumed();

将onResume()方法重命名为onStart()

 public class SplashScreen extends AppCompatActivity { private static int SPLASH_TIME_OUT = 3000; Boolean flag = false; public static Activity activity_splash; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); setContentView(R.layout.splash_screen); } public void onStart(){ super.onResume(); new Handler().postDelayed(new Runnable() { @Override public void run() { Intent i = new Intent(SplashScreen.this, MainActivity.class); startActivity(i); finish(); } }, SPLASH_TIME_OUT); } } 

将这个代码从onResume()移动到onCreate()

  new Handler().postDelayed(new Runnable() { @Override public void run() { Intent i = new Intent(SplashScreen.this, MainActivity.class); startActivity(i); finish(); } }, SPLASH_TIME_OUT);