问题标签 [ondestroy]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - Android:写入文件 OnDestroy()
这是我目前的情况:
Eclipse
Win7
Samsung SII(用于测试)
我正在编写一个应用程序,它将在启动时从设备上私有存储的文件中读取,然后,我想在onDestroy()
调用应用程序时写入同一个文件(基本上覆盖)。
我首先尝试用我自己的类扩展应用程序,然后在构造函数中读取和写入该文件并销毁该类,但是,似乎不允许在该类中读取或写入,因为我的应用程序每次都会崩溃开始。所以我想了一会儿,然后辞职在主菜单上做这个,因为这是我唯一不做的活动"destroy" (or ActivityName.this.finish();)
。但我的程序员大脑希望在应用程序级别而不是活动级别实现这一点。
那么我是否可以从我创建的 Application 类构造函数中的文件中读取文件,并写入 中的文件onDestroy()
?如果是这样,如何?我的应用程序只是不断崩溃/甚至无法启动......
这是我使用的代码。这有效地读取了一个文件,并将一些字符串存储到全局内存中(请给我“不,不”的意思......全局变量对我非常有用),然后onDestroy()
在使用全局变量中的值调用时覆盖文件(我知道这一点是因为它在活动级别起作用):
现在,这是相同的过程,在 MainMenu 类中减去了一些更改以获得正确的上下文。我只是无法理解为什么当我在应用程序级别执行此操作时这会使我的应用程序崩溃?非常感谢您的帮助!
这是我发现的 logcat 条目 logcat 很神秘...
马特
android - 当我的倒数计时器处于活动状态时,后退按钮调用 onDestroy()
我在片段中运行倒数计时器,每次按下后退按钮onDestroy()
都会被调用并终止我的倒计时。当我再次启动我的应用程序时,一个新的活动已经开始并且倒计时消失了。
onDestroy() isFinished()
返回true
。
如果我按下主页按钮,这不会发生。
我怎样才能防止这种情况发生?使用服务?设置标志?覆盖后退按钮?我在这里迷路了。
android - 如何仅在退出应用程序时才结束服务?
我有一项服务,我想在应用程序打开的第二个运行,并且只希望该服务在用户退出应用程序后立即结束。我如何对这两件事进行编程?
android - Activity destroy() 是否会自动取消 CountDownTimer?
一个问题,也许有点幼稚……
如果我在 Activity onCreate() 中启动 2 分钟 CountDownTimer 并在用户单击按钮时使用 finish() 关闭它,Android 会自动取消它吗?
还是我需要在 onDestroy() 中显式调用 cancel()?
android - 在 MainActivity.finish() 和 MainActivity.onDestroy() 之后,android (glsurfaceview) 纹理是白色的
在使用 MainActivity->RelativeLayout->GLSurfaceView 的应用程序上工作。
当通过 Activity.finish() 退出应用程序(好的,根据承包商要求)时,在下次启动时,它将以其初始状态开始(好的,根据承包商要求),但所有纹理都将是白色的。
通过 System.exit(0) 关闭应用程序可以解决此问题,因此很明显某些形式的 OpenGL 资源没有被释放。纹理都应该被释放,因为它们有一个管理器,而且似乎没有一个泄漏。
我正在寻找用刷新所有 OpenGL 资源(如果可能)的东西替换 System.exit(0) 吗?是否有类似 Android 上暴露的上下文破坏器之类的东西?
android - 数组共享首选项重建 TableLayout OnDestroy
我有一个应该用作日记的应用程序,用户可以在其中输入一些文本并将其存储以供将来阅读。每个条目一个接一个地存储在一个 tableLayout 中。
我在一个数组中有这些文本,我希望 tableLayout 是永久的,我的意思是即使调用了销毁,所以我需要使用共享首选项。
例如,如果用户在重启后打开我的应用程序,我如何恢复所有行?
谢谢
android - Android:应用程序关闭时如何备份数据库?
我需要帮助来确定正确的方法。每次整个应用程序中断或终止/销毁时,我都想将内部数据库备份到外部存储中的某个位置。我想从一个名为 Main 的中心类调用此方法,该类扩展了 Application。这样做的原因是,我需要使用几个活动,并且我只想在需要时调用备份方法(就像整个应用程序被另一个应用程序破坏或中断时所描述的那样)。我尽量避免在他们的 onPause() 方法中的每个活动中调用此备份方法。
我想过在应用程序的 onCreate() 方法中启动一个服务,并在服务被破坏时启动备份方法。但这在中断的情况下无济于事,据我了解服务背后的逻辑。而且服务似乎没有启动。startService(new Intent(getApplicationContext(), BackupService.class));
此外,我认为仅使用服务的 onDestroy() 方法不是一个好方法,我认为这不是服务类的用途。
所以总结我的问题,你知道比使用服务更好的方法吗,或者如果不知道我应该如何使用该服务才能仅在整个应用程序(而不仅仅是一个活动)时调用备份被中断或破坏。
android - 使用 super.onDestroy 时 Android MapActivity 崩溃
到目前为止,我有一个非常稳定的应用程序,我决定向它添加一个 MapView。如果这有所不同,则 MapView 位于 HorizontalScrollView 中。我将我的主要活动转换为扩展 MapActivity 并添加了 isRouteDisplayed() 函数。我可以编译并运行它,滚动查看我的 MapView 是否正确加载。
我的问题是何时调用 super.onDestroy()。由于某种原因,程序崩溃了。
日志猫:
10-17 18:32:17.109:E/AndroidRuntime(5477):引起:java.lang.NullPointerException 10-17 18:32:17.109:E/AndroidRuntime(5477):在 com.google.android.maps.MapActivity .onDestroy(MapActivity.java:500) 10-17 18:32:17.109: E/AndroidRuntime(5477): 在 com.appsmith.mapit.MainActivity.onDestroy(MainActivity.java:177) 10-17 18:32:17.109 : E/AndroidRuntime(5477): 在 android.app.ActivityThread.performDestroyActivity(ActivityThread.java:2663) 10-17 18:32:17.109: E/AndroidRuntime(5477): ... 11 更多
任何解决此问题的建议将不胜感激。
编辑:明白了!我实现了一个 onPause(),它与我的 onDestroy() 具有相同的信息(这是我在应用程序不使用时保持 GPS 不处于活动状态的解决方案)。注释掉 onPause() 会让一切再次变得愉快。谢谢您的帮助!
android - 如何销毁一个 Activity 使其在按下后退按钮时不显示?
我有两个活动,A 和 B。这是一个正常的场景:A 正在运行,然后向 B 发送意图。A 暂停,B 显示。当用户从 B 按下返回按钮时,B 被破坏,用户返回到 A。
但是,存在 B 需要重新创建自身的情况。为此,我打电话finish()
,然后startActivity()
在 B 上,效果很好。但是,当我单击后退按钮时,它再次显示 B,因此我需要再次单击后退按钮才能返回 A。
如何重新启动 B,但仍然只能按一次返回按钮返回 A?
java - 通过 onDestroy() 事件存储变量
我正在寻找一种方法来存储可能已通过onDestroy()事件从启动变量(通过用户激活函数或其他)更改的变量的状态,以便如果我打开和关闭我的手机应用程序尚未重置变量。