activity直接销毁_Android开发,从一个Activity跳转到另一个Activity,销毁前一个Activity怎么实现好...

本人安卓小白一枚,最近在学习。遇到的问题是从一个Activity跳转到另一个Activity,有时候要销毁前一个Activity,本人本人是用getParent(),然后finish(),可是这样处理,跳转的时候就会出现短暂黑屏的现象,所以本人觉得这样应该不是好的解决方法,可是本人也不大懂其他的处理方法,或出现黑屏的原因,有没有哪位高手能为本人解答下,感激不尽。然后大家新年快乐哈

解决方案

1

把当前活动的Activity存放到一个list里面,剩下的事情就很好办了

2

安卓管理activity的是ActivityManager,实用它在跳转后的activity关闭他

10

您的意思是在第二个activity中悄无声息的关闭第一个activity是吧?

这样可以实现:

在A里面设置一个静态的变量instance,初始化为this

在B里面,A.instance.finish();

1

使用广播可以, 假如第二个界面点击按钮就发送广播, 第一个界面接收到广播直接finish() 就行.

1

为毛有这样的设计 假如是项目的话 不可能出现这种  假如第二个activity要初始化东西 可以先加载loading界面 初始化完成在加载界面

1

public void finishActivity(Class> cls) {

for (int i = 0; i 

Activity activity = activityStack.get(i);

if (activity.getClass().equals(cls)) {

finishActivity(activity);

}

}

}

1

用广播吧,本人看行。

1

销毁 Activity 开销太大,

本人 多是 1 Activity + 多个  setContentView( View  );

假如几个View 需要经常来回来去换的话,这么写 比较合适

1

Handler发消息处理

1

使用hander 发送消息,或使用广播

1

假如关闭不当,容易造成Activity引用一直存在无法回收,导致内存泄漏。可以从设计层面改变思路。可否详述你的需求

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android 中,我们可以使用 `preLoad()` 方法来预加载下一个 `Activity` 页面。这个方法会在当前 `Activity` 中异步地加载下一个 `Activity` 页面的布局和资源,以提高用户体验。 以下是一个预加载下一个 `Activity` 页面的示例代码: ```java private void preLoadNextActivity() { Intent intent = new Intent(this, NextActivity.class); intent.setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION); startActivity(intent); overridePendingTransition(0, 0); new Thread(new Runnable() { @Override public void run() { try { Thread.sleep(5000); // 模拟加载时间 } catch (InterruptedException e) { e.printStackTrace(); } // 加载完成后,销毁预加载的 Activity finishActivity(NextActivity.class.hashCode()); } }).start(); } ``` 上面的代码中,我们首先创建了一个 `Intent` 对象,用来启动下一个 `Activity` 页面。然后,我们使用 `startActivity()` 方法启动这个 `Activity`,并设置了 `FLAG_ACTIVITY_NO_ANIMATION` 标志位,以避免动画效果。接着,我们使用 `overridePendingTransition()` 方法来去掉当前 `Activity` 的退场动画。这样做可以提高用户体验,使用户感觉当前 `Activity` 顺畅地过渡到了下一个 `Activity`。 接下来,我们在一个新线程中模拟加载时间,等待 5 秒钟。在等待时间结束后,我们使用 `finishActivity()` 方法销毁预加载的 `Activity`,以释放资源。 最后,我们可以在当前 `Activity` 中调用 `preLoadNextActivity()` 方法来预加载下一个 `Activity` 页面。这样,在用户点击跳转按钮时,下一个 `Activity` 页面就能够快速地加载出来,提高用户体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值