
我的应用程序在两个5.0的android系统中运行.
在我的开发中,我有一个未捕获的RuntimeException
遇到例外时,我的应用程序将自动重启,
我不知道为什么我的应用程序会自动重启?即使我调用System.exit(1)
这是带有RuntimException的日志
E/AndroIDRuntime(23905): FATAL EXCEPTION: mainE/AndroIDRuntime(23905): Process: com.oosmart.mainapp, PID: 23905E/AndroIDRuntime(23905): androID.database.sqlite.sqliteException: no such table: devices (code 1): , while compiling: drop table devicesE/AndroIDRuntime(23905): at androID.database.sqlite.sqliteConnection.nativePrepareStatement(Native Method)E/AndroIDRuntime(23905): at androID.database.sqlite.sqliteConnection.acquirePreparedStatement(sqliteConnection.java:889)E/AndroIDRuntime(23905): at androID.database.sqlite.sqliteConnection.prepare(sqliteConnection.java:500)E/AndroIDRuntime(23905): at androID.database.sqlite.sqliteSession.prepare(sqliteSession.java:588)E/AndroIDRuntime(23905): at androID.database.sqlite.sqliteProgram.<init>(sqliteProgram.java:58)E/AndroIDRuntime(23905): at androID.database.sqlite.sqliteStatement.<init>(sqliteStatement.java:31)E/AndroIDRuntime(23905): at androID.database.sqlite.sqliteDatabase.executesql(sqliteDatabase.java:1674)E/AndroIDRuntime(23905): at androID.database.sqlite.sqliteDatabase.execsql(sqliteDatabase.java:1655)E/AndroIDRuntime(23905): at com.oosmart.mainaplication.db.DBOperation.execute(DBOperation.java:81)E/AndroIDRuntime(23905): at com.oosmart.mainaplication.db.DevicesDB.droptable(DevicesDB.java:154)E/AndroIDRuntime(23905): at com.oosmart.mainaplication.db.DBHelper.Droptable(DBHelper.java:30)E/AndroIDRuntime(23905): at com.oosmart.mainaplication.fragment.UserCenterFragment.onExitClick(UserCenterFragment.java:128)E/AndroIDRuntime(23905): at com.oosmart.mainaplication.fragment.UserCenterFragment$$VIEwBinder.doClick(UserCenterFragment$$VIEwBinder.java:74)E/AndroIDRuntime(23905): at butterknife.internal.DebouncingOnClickListener.onClick(DebouncingOnClickListener.java:22)E/AndroIDRuntime(23905): at androID.vIEw.VIEw.performClick(VIEw.java:4806)E/AndroIDRuntime(23905): at androID.vIEw.VIEw$PerformClick.run(VIEw.java:19952)E/AndroIDRuntime(23905): at androID.os.Handler.handleCallback(Handler.java:739)E/AndroIDRuntime(23905): at androID.os.Handler.dispatchMessage(Handler.java:95)E/AndroIDRuntime(23905): at androID.os.Looper.loop(Looper.java:135)E/AndroIDRuntime(23905): at androID.app.ActivityThread.main(ActivityThread.java:5313)E/AndroIDRuntime(23905): at java.lang.reflect.Method.invoke(Native Method)E/AndroIDRuntime(23905): at java.lang.reflect.Method.invoke(Method.java:372)E/AndroIDRuntime(23905): at com.androID.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1116)E/AndroIDRuntime(23905): at com.androID.internal.os.ZygoteInit.main(ZygoteInit.java:809)这是System.exit的日志
I/AndroIDRuntime(20479): VM exiting with result code 1, cleanup skipped.I/AndroIDRuntime(23172): VM exiting with result code 1, cleanup skipped.I/Process (24461): java.lang.RuntimeException我在运行时使用的grep日志
更新:
即使我调用androID.os.Process.killProcess(androID.os.Process.myPID());
该应用程序仍然使用新的pID重新启动.
我不知道为什么我不能完全退出代码.
解决方法:
可能是因为您没有完成上一个活动,并且当新活动创建异常时,它关闭了当前活动并打开了上一个活动,并且Runtime Exception崩溃使您的应用程序崩溃,并且您试图删除甚至不存在的表,甚至系统.exit()不会退出您的应用程序.最佳实践是在使用任何复杂的编码时用户尝试捕获.
如果我错了有人纠正我
以上是内存溢出为你收集整理的java-为什么在运行异常后Android App自动重启?全部内容,希望文章能够帮你解决java-为什么在运行异常后Android App自动重启?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)