本人安卓小白一枚,最近在学习。遇到的问题是从一个Activity跳转到另一个Activity,有时候要销毁前一个Activity,本人本人是用getParent(),然后finish(),可是这样处理,跳转的时候就会出现短暂黑屏的现象,所以本人觉得这样应该不是好的解决方法,可是本人也不大懂其他的处理方法,或出现黑屏的原因,有没有哪位高手能为本人解答下,感激不尽。然后大家新年快乐哈
解决方案
1
把当前活动的Activity存放到一个list里面,剩下的事情就很好办了
2
安卓管理activity的是ActivityManager,实用它在跳转后的activity关闭他
10
您的意思是在第二个activity中悄无声息的关闭第一个activity是吧?
这样可以实现:
在A里面设置一个静态的变量instance,初始化为this
在B里面,A.instance.finish();
这样可以实现:
在A里面设置一个静态的变量instance,初始化为this
在B里面,A.instance.finish();
1
使用广播可以, 假如第二个界面点击按钮就发送广播, 第一个界面接收到广播直接finish() 就行.
1
为毛有这样的设计 假如是项目的话 不可能出现这种 假如第二个activity要初始化东西 可以先加载loading界面 初始化完成在加载界面
1
public void finishActivity(Class<?> cls) {
for (int i = 0; i < activityStack.size(); i++) {
Activity activity = activityStack.get(i);
if (activity.getClass().equals(cls)) {
finishActivity(activity);
}
}
}
for (int i = 0; i < activityStack.size(); i++) {
Activity activity = activityStack.get(i);
if (activity.getClass().equals(cls)) {
finishActivity(activity);
}
}
}
1
用广播吧,本人看行。
1
销毁 Activity 开销太大,
本人 多是 1 Activity + 多个 setContentView( View );
假如几个View 需要经常来回来去换的话,这么写 比较合适
本人 多是 1 Activity + 多个 setContentView( View );
假如几个View 需要经常来回来去换的话,这么写 比较合适
1
Handler发消息处理
1
使用hander 发送消息,或使用广播
1
假如关闭不当,容易造成Activity引用一直存在无法回收,导致内存泄漏。可以从设计层面改变思路。可否详述你的需求