问题标签 [android-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 - 活动生命周期(活动之间来回移动)
作为 Android 新手,我开始怀疑 Activity 生命周期。我有一个加载人员列表并显示它们的活动。单击一个人后,我想打开另一个显示该人详细信息的活动。我目前正在通过在“PersonDetailActivity”上创建一个 Intent 来执行此操作,然后我将启动它。到目前为止,一切都很好。在 PersonDetail 页面上,我希望有一个菜单操作可以返回到 Person 列表。我再次应用了相同的技术,这意味着将我带回 PersonListActivity 的 Intent。
现在我开始想知道返回 PersonListActivity 意味着什么。是否会创建一个新实例,我是否必须重新加载它在列表中显示的人员?你能回到同一个实例,避免再次重新加载列表吗?然后,您是否必须通过意图将指向您自己的指针传递给另一个 Activity?
所以什么时候会和 Activity 被重新实例化,什么时候不会。任何提示或建议都非常受欢迎。也许我还不知道这些来回菜单操作要应用一些模式。
谢谢,
文森特
android - 在应用于活动的缩放动画期间背景中的黑屏是否可以着色
我在活动打开时将比例动画应用于我的活动。所以可以给黑色背景一个颜色。由于先前的活动暂停,所以有可能吗?
android - onPause、onResume、onStop、onStart 等,不触发 - 生命周期?
我有两个在平板电脑上协同工作的应用程序。我注意到如果用户退出一个应用程序并且下次打开应用程序时调用 oncreate,但是如果他们回到家然后返回 oncreate 不会被调用。我还注意到 onPause、onStop、onResume 永远不会被调用..如果用户回家,我需要一些方法来确保应用程序完成..
或者另一种选择是我的其他应用程序是否可以检查该应用程序是否打开并关闭它..
请帮忙
android - weird activity behaviour
I'm new to android and I'd like to develop simple game.
I have read about the Activity lifecycle on the official android site and also here on stackoverflow, but I need a little help with pausing/resuming the game :-/
I had expected some scenerio similar to the lifecycle diagram, but when I lock the screen, method Activity.onDestroy()
is also called, but then onCreate()
is called again. I am confused as onRestart()
is not being called!
I know about the problem with screen orientation, and have added android:screenOrientation="landscape"
which was supposed to help.
I'm happy with the other game mechanics such as animating, colisions etc, which are well described on the internet, but I can't manage pausing/resuming.
Could someone recommend a comprehensive tutorial or give a code example? Anything covering how to build the skeleton of simple game, which can be paused, saved, etc would be much appreciated.
thanks a lot
android - 重用堆栈中的现有活动(以避免内存中的重复活动)
有没有办法以编程方式查看堆栈中是否已经存在活动并重新使用它而不是重新创建它?
出现这样的情况,用户可以通过多条路线进入活动,也可以通过多条路线继续前进。但是,在其他活动中单击几下后,可以再次访问相同的活动。当我知道它已经存在于堆栈中时,我想避免应用程序创建一个新的活动。
这可能只是我糟糕的设计(这是我的第一个应用程序)。但只是想知道如何管理?有针对这个的解决方法吗?
android - 如何理解 android 活动是直接启动还是先杀死 - 然后重新创建?
众所周知,所有的 android 活动都会创建、启动、恢复、运行、暂停、停止、销毁。这个过程在android 手册中有很好的展示。
在这个生命周期中,是否有可能了解活动是以哪种方式创建的?我的意思是我如何理解是直接调用活动还是创建活动一次然后被android os杀死然后在用户导航回来后重新创建?
更基本上,我如何理解一项活动是处于第二次生命还是第一次生命?
编辑:为什么我需要这个?
在我的设计中,我有一个从网络加载数据的主页。当用户点击一些细节时,它会将数据放在一个静态对象中,就像 web 中的会话一样。这正常工作。
但是当用户在第二人生开始详细活动时,静态对象中的数据被杀死,我得到了空指针异常。
我有 4 个具有相同架构的项目,所以我想解决这个问题。
android - 使用 Thread.sleep() 暂停和恢复应用程序
嗨,
在我的应用程序中,我试图使用 Thread.sleep(100) 来暂停我的线程,而它的背景是为了使用更少的 CPU,但是当我打开它时它会冻结。
我意识到onResume
当我重新打开应用程序时没有调用它。
任何想法为什么?
android - 再次在 Activity 生命周期中: onStart 在不应该被调用时被调用
首先,我已经阅读了关于活动如何开始、暂停、恢复和停止的精彩解释。没关系,但我还有另一个问题。
Android 参考中的 Activity 生命周期图告诉我,如果我调用另一个 Activity,将为调用的 Activity 调用 onPause(),稍后,当另一个 Activity 结束时,调用者将通过 onResume() 恢复。
因此,如果第一个活动是 Main 而另一个是 Other,则循环将如下所示(伪代码):
这就是图表所告诉的。但是我的 Main 先是 onStart(),然后是 onResume()。
这是为什么?我误解了什么吗?
android - 应用程序在执行 onPause() 时被杀死。关于如何处理这种情况的任何提示?
我的应用程序将其当前图像数据保存到文件中,onPause()
以便将其从会话保存到会话。但是,我注意到如果我在应用程序处于前台时关闭设备,应用程序会暂停并快速连续重启多次,然后最终在写入文件的过程中被杀死onPause()
。
在中,我通过调用a然后调用onPause()
来请求并等待来自 a 的渲染器线程的图像数据。然后,在我得到数据后,我调用然后将数据写入外部存储上的文件。之后我打电话。GLSurfaceView
gLSurfaceView.queueEvent()
FutureTask
futureTask.get()
gLSurfaceView.onPause()
super.onPause()
onPause()
但是,在写入外部存储时似乎中断了,因此当应用程序下次重新启动时,它会java.io.EOFException
在尝试读取保存的数据时报告。
我记录了关闭设备时发生的情况。这是跟踪:
之后,设备关闭,或者至少停止记录。
据推测,数据在前 2 次被正确保存,但由于应用程序没有完成对文件的写入,它在第 3 次被破坏。
我正在考虑实现一个双缓冲区解决方案,在该解决方案中,我将交替写入数据的缓冲区,并在成功写入后保存对包含最新数据的缓冲区的引用。但我认为必须有一个更简单的方法。
有关如何避免/解决此问题的任何建议?
注意:由于整个 onPause() 需要接近 1 秒,我还尝试在后台线程中执行序列 [从 GLSurfaceView 读取,暂停 GLSurfaceView 并保存到文件],但随后我也遇到了 onCreate() 尝试在后台线程仍在写入的同时读取图像数据,这显然也会导致错误。
android - 如果我使用短标签,为什么 Unmarshalling Instance State Parcel 会失败?
我在拆包包裹时遇到了一次奇怪的崩溃,onCreate
并且对我修复它的方式更加困惑。
我的应用程序保存这样的TrackEntity
对象:
并相应地加载它:
STATE_TRACK
定义为TRACK
。
虽然此代码适用于屏幕旋转更改,但当活动在后台被销毁时它会崩溃(我使用 Android 开发工具强制执行此操作)并稍后重新启动。错误如下所示:
我似乎修复它的方式是将STATE_TRACK
from的值更改TRACK
为appname:TRACK
。
我在官方文档中找不到关于实例状态包标签命名的任何注释。有人可以向我解释那里发生了什么吗?