0

我在一个活动中创建了一个处理程序(让我们说“ FirstActivity ”)并将这个处理程序传递给一个线程。现在我想handleMessage()通过调用handler.obtainMessage(100).sendToTarget()from 线程来更新 ui 内部。线程将消息传递到 UI 需要 20 到 30 秒的时间。

callback(handleMessage())现在我的问题是:我在“FirstActivity”调用 之前切换到另一个活动(让我们说“SecondActivity”) :

1.“FirstActivity”是否可用于垃圾收集?
2. 如果我们完成“FirstActivity”并移动到“SecondActivity”,那么“FirstActivity”上的视图是可用的还是变为空?如果没有变为空,那么为什么因为“FirstActivity”此时已完成,如果我们想要更新视图,那么它应该抛出 NullPointerException。

4

2 回答 2

0
   runOnUiThread(new Runnable() {
        @Override
            public void run() {
                //Your code for UI update goes here.
            }
    }); 

它的 simple.above 代码将让您从处理程序更新您的 ui。

于 2012-12-31T05:54:46.467 回答
0

如果我们完成第一个活动,它将不再可用。
如果您想再次更新第一个活动,您应该将意图传递给第一个活动。那么你应该更新..那个时候你不会得到空指针异常。您应该为此经历活动生命周期。

于 2012-12-31T05:55:54.390 回答