【发布时间】:2017-01-02 06:49:31
【问题描述】:
我对@987654322@ 方法有疑问。
问题结构
- 使用 LinkMovementMethod 在某些 TextView 中单击链接(例如,http://google.com)
- 回调到
LinkCatcher类(因为一些TextView几乎存在所有活动,所以我使用外部类) - 使用 Otto 将事件发布到
MainActivity(因为它可以防止startActivity outside of activity出现问题。) - 在 MainActivity 上,意图
Activity B没有任何标志,只是一个额外的(链接) - 创建 Activity B 时,Activity A 将销毁并调用
onCreate(Bundle savedInstanceState)(我在我的代码中插入了一些 Log.e,它肯定会重新调用 Log 代码)
尝试过的方法
- 在 MainActivity、Activity B 中插入 android:launchMode="singleInstance"
- 在 MainActivity 中插入 android:configChanges="orientation|screenSize|keyboardHidden" (这意味着方向没有问题。我已经在我的应用程序的所有活动中实现了 onSaveInstanceState) 3.remove 步骤 3. 在 LinkCatcher 类中调用 startActiivty() 代替 Post 事件到 MainActivity
我尝试了所有我尝试过的方法。而且我不知道为什么活动被破坏并重新调用 onCreate(不是 onResume),即使我不使用任何 finish() 方法。
【问题讨论】:
-
尝试释放设备上的一些内存或创建一个具有大量内存的模拟器并检查是否有可用 RAM 有所不同,这样我们就可以排除 android 杀死活动 A 的情况。确定一次就杀死它,但我怀疑它是 android 杀死每次点击和案例的活动
-
@PopTudor 我已经在使用 3GB 内存 (Galaxy S6) 设备,并且我还使用了 2GB 内存的模拟器。但问题发生了。这就是为什么我不认为这个问题是由记忆发生的。 (即使我使用 largeHeap 选项)
-
请发布一些代码供我们查看并检查您的 logcat。这不是标准行为,正在发生一些奇怪的事情。同时发布您的清单。