问题标签 [activity-lifecycle]
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 - finish() 和 Activity 生命周期
我正在为一门课学习 Android 编程,我有一个关于 finish() 如何融入 Activity 生命周期的快速问题。
当您调用 finish() 时,会启动什么生命周期回调?我认为它是 onPause(),然后是 onStop() 和 onDestroy()。它是否正确?
真的,我只是想确保它不会直接跳转到 onDestroy()。
android - Android:需要在睡眠后恢复游戏
我希望我的游戏能够在手机进入睡眠状态(用户按下电源按钮)之前从其左侧继续。我的游戏可以用主页按钮正常工作。当用户按下主页按钮并再次打开游戏时,游戏会从应有的位置开始。但如果用户按下电源按钮(在 google htc nexus one 上),它会崩溃。但是当我在三星 Galaxy 平板 10 上测试游戏时,它运行良好。
在LogCat
中,我可以观察到当用户按下 Galaxy 平板电脑上的电源按钮时,会调用onPause() 。当用户再次按下onResume()时,这是正常的。
但是在google nexus上,当用户按下电源按钮时,onPause(),onResume(),onPause()在进入睡眠之前分别被调用。当用户再次按下电源按钮时,不会调用任何内容。
请建议我该如何解决这个问题。提前致谢
编辑
看起来这个问题仅在默认情况下具有纵向方向的设备上观察到。
android - Android ActivityGroup 生命周期已弃用?
因此,从几天开始,我在整个应用程序中看到有关super.onPause()
,super.onDestroy()
等的警告super.onResume()
已被弃用。我想问的是,这是否意味着将来这些方法不会像以前那样被调用……这是控制和调用我想在这些方法中使用或初始化的特定事物的新方法。碎片?
android - onActivityResult 被杀死的活动
你能帮我解决我的问题吗?
我有活动1,活动2。Activity1 在 中创建 UI onCreate()
,然后在某个时刻用户启动 Activity2startActivityForResult()
内存不足的情况似乎很少见,但我遇到过一次,所以我想在以后防止它。我什至可以通过运行一些“硬”应用程序或游戏来重复这种情况。结果是 - 当我返回我的应用程序时,Activity2 被重新创建。然后当我按返回按钮返回 Activity1 时,它也会重新创建。我在这里有逻辑冲突。Activity1 UI 从零开始创建,onCreate
同时在onActivityResult
!
我该如何解决这个问题?触发一些标志onCreate
并检查它onActivityResult
?这对我有用,但我认为它不应该是这样。
我的手机有 Stock ROM,Android 2.3.5
更新:好的,具体问题,我有一个元素列表。它内置于onCreate()
. 离开 Activity2 我需要记住被点击元素的 id 以便稍后在onActivityResult()
. 将它保存在 bundle 中不是问题onSaveInstanceState()
。但!从捆绑中获取它是个坏主意,onCreate()
因为我没有什么要更新的!为了清楚起见,这里是伪代码:
所以我不能通过它的 id 更新元素,因为活动实际上被系统破坏了。我需要重建它。而且我连续打电话给onCreate(), onActivityResult()
. 问题是我应该如何在这两种方法之间共享逻辑以正确顺序创建\更新我的元素列表?
android - 读取其他应用程序中其他活动的生命周期状态
我正在尝试开发一个检测异常行为的应用程序。因此,它应该能够做的一件事是读取其他应用程序的生命周期状态。Google Play 暂停。
这可能吗?
android - onStop 在 onStart 之前调用
我有一个从 AlarmManager 调用的活动。这是一条警报消息。
当从 Key Guard 调用 Activity 时,生命周期从 onCreate -> onStart -> onResume -> onPause -> onStop 回到 onCreate -> onStart -> onResume。
由于它是一个警报活动,我已将 MediaPlayer.stop 行放在 Activity 的 onStop 内,但现在警报声在它开始后立即停止。
如果我将 MediaPlayer.stop 放在 onDestroy 中,我会得到正确的行为,但如果用户按下主页按钮,活动就会消失并且声音会继续播放。
任何人都可以说出为什么在这种情况下调用 onPause 和 onStop ?
编辑:在日志中进行一些调查后,我发现了这一行:
android - 我的代码是否足以防止 MediaPlayer 泄漏?
在我的活动中,我有以下内容:
此代码是否足够或会导致 MediaPlayer 泄漏?我的实现是必要的onStop
,onStart
还是只能依靠调用?release
onCompletion
我这样做是因为我假设onStop()
可以在 MediaPlayer 播放时调用我的代码,所以我需要调用release
因为onCompletion
还不会被调用。我只是猜测这是对的,如果我错了,请纠正我。
我还读到了onStop
在内存不足的情况下不调用的内容-那该怎么办?
android - 从 Android 中的其他活动返回时,活动再次从服务器重新加载整个数据
基本上,我正在开发一个包含 4 个选项卡的选项卡活动的应用程序,并且我正在使用 actvityGroup 来管理活动和 backKeypressed() 方法。
当我的应用程序首次启动时,它会向服务器发送一个请求并显示进度条(使用 AsyncTask),如下图所示。
在此之后,我的完整 UI 显示为
它在按钮“GO”的单击事件上加载新的活动(代码如下)
这也是我的 ActivtyGroup.java 代码
好的,现在我的问题是当我按下 backKey(); 它应该来到以前的活动。
- 是的,它涉及上一个活动,但它再次向服务器发送请求并再次显示进度条并加载,直到服务器发送响应。这浪费了我的时间。
- 我只想加载 HomeTab 一次(当我玩应用程序时)。不是一次又一次
我也在添加
setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
在开始活动时
还在 menifest.xml 文件中添加了以下代码
android:configChanges="键盘|keyboardHidden|方向"
但还没有工作。
这是我的主页选项卡的代码(它在 onCreate 方法中将请求发送到服务器)
- 请看看我的活动小组课,告诉我该怎么做。提前致谢
java - ANDROID onBackPressed 不适用于该活动
我为我的活动实现了 onBackPressed,它将检查互联网连接,但是当我单击平板电脑中的后退按钮时,它什么也不做。我不明白这是什么原因。可以帮忙?
下面是我的代码
android - onResume 导致启动时出现问题
我有一个允许用户开始第二个活动的活动。第二个活动有一个我添加到数组列表中的项目列表。当我返回上一个活动时,我想显示数组列表的大小。
但是我遇到了 onResume() 的问题。它在我的第一个活动创建时被调用,结果生成一个错误,因为数组列表在首次启动时不存在!
onResume():
获取意图数据():
第二个活动的 onCreate():
知道我如何能够控制它吗?
错误:
java.lang.RuntimeException:无法恢复活动 {com.example.waitronproto3/com.example.waitronproto3.SectionsActivity}:java.lang.NullPointerException