【发布时间】:2026-01-17 16:20:03
【问题描述】:
我有活动 A 需要在退出时做一些事情 - 将内容保存到数据库 -开始活动B
由于保存可能需要一段时间,但我应该启动一个新线程以在后台运行数据库访问,而用户正忙于阅读活动 B 的内容。(顺便说一句,B 不使用保存的数据) .
所以我在活动 A 中
FinishStuff(){
Intent ourIntent = new Intent(this, ActivityB.class);
startActivity(ourIntent);
handler = new Handler();
handler.post(dbSaver);
}
public Runnable dbSaver = new Runnable() {
@Override
public void run() {
saveToDbs();
}
然而,发生的事情是立即调用活动 B 的 OnCreate(),但我的新活动应该去的屏幕空间是黑色的,直到 saveToDBs() 完成,在该阶段活动 B 被显示。 有什么办法可以解决这个问题? TIA
【问题讨论】:
标签: android multithreading android-activity