java - 从 Runnable() 启动一个 Activity

标签 java android

希望不是一个骗子,尽我所能地四处挖掘,但一无所获。当我输入标题时,SO 中的所有建议获得的赞成票都少于 0,所以希望我不会走同样的路。我的问题本质上是,如果我在主线程上执行此操作会发生什么:

new Thread(new Runnable() {
            @Override
            public void run() {
                runOnUiThread(new Runnable() {
                        @Override
                        public void run() {
                            startActivity(i);
                        }
                    });
            }
        }).start();

假设i是一个 Intent ,我没有搞砸任何其他事情,等等。显然这是一个非常微不足道的案例。但我想知道我是否需要在工作线程上做任何事情?如果我这样做,是否会导致内存泄漏或其他问题?我是否需要调用工作线程上的某些内容来告诉它我不再需要它?它会自己明白不再需要它吗?我完全误解了什么吗?谢谢!

最佳答案

嗯,我不确定这是否有效。但如果你这样做,你可能会遇到内存泄漏。

您可以通过 asynctask https://github.com/greenrobot/EventBus 发布事件来实现 Activity 创建 ,并在您的 Activity/fragment 中订阅该事件。您可以为多个 Activity 创建基类并在其中订阅。所以你会在任何地方收到事件。

关于java - 从 Runnable() 启动一个 Activity,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48796594/

相关文章:

java - JAVA 的 TWAIN/WIA 实现

java - 无法让 onSharedPreferenceChanged() 工作

android - 比较按钮的背景资源

java - 如何在android中使用另一个应用程序打开文件

android - 在 AlertDialog 上复制/粘贴带有奇怪矩形的菜单

android - 我如何使用 SQLite DB 使其不会不必要地增长

java - 如何绘制/管理六边形网格?

java - 如何在使用 Uri.parse 下载文件之前检查文件重复

java - 如何添加到集合实体的链接

java - 一个android数据库问题