java - 在 Android 操作系统销毁 Activity 后,对 Activity 的引用会发生什么情况?

标签 java android

在我的应用程序中,我需要保留对某些 Activity 的引用,以便无论我当前正在破坏哪个 Activity ,我都可以在异步事件(网络结果)上调用它们的方法之一。 假设 Activity 在后台,系统需要资源并破坏我的 Activity 。

首先,我的 Activity 实例是否已从堆中完全取消分配?

我引用了该 Activity 是否会影响天气,系统是否会破坏我的 Activity ?

如果 Activity 从堆中完全删除,现在我有一个 Activity 实例的非空引用,它指向内存中未分配的位置,这看起来非常危险,所以我想我应该检查一下我的对 Activity 的引用指向一个有效的实例;我该怎么做?

最佳答案

I need to keep a reference to certain activities, so that I can invoke one of their methods on an asynchronous event (web result) no matter which activity I'm currently ruining

请使用事件总线(LocalBroadcastManager、greenrobot 的 EventBus、Square 的 Otto 等)。请不要“保留对某些 Activity 的引用”。

Lets say the activity is in the background, and the system needs resources and destroys my activity.

这永远不会发生。 Android 因内存不足而终止进程;它不会因低内存条件而破坏个人 Activity 。

关于java - 在 Android 操作系统销毁 Activity 后,对 Activity 的引用会发生什么情况?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27160852/

相关文章:

java - 我应该给支持 beans 另一个名字而不是类吗?

java - hibernate 不会自动插入连接表

java - 开发适用于智能手机和平板电脑的 Android 应用程序

android - 如何在 Android 屏幕旋转上保存自定义 ArrayList?

android - toast .LENGTH_LONG

java - 可以确定要下载的文件的大小吗?

java - 是否有一条规则规定复杂的访问方法是邪恶的?

c# - asp.net 中的内容而不是 java 中的 httpsessionlistener

java - 列的值太长 - 错误持续存在 LocalDate

android - 如何将新成员添加到 Android 应用程序中的 MailChimp 列表?