完美销毁当前活动

安卓系统为我们提供了销毁当前页面的方法——finish();但是很多时候,我们的安卓物理按键也可以直接back.

用户没有点击返回怎么销毁

  当用户没有点击某个按钮去销毁活动的时候,有个onPressBack()方法可以调用,把逻辑写到这个方法中。

知道自己当前在哪个Activity中

      创建一个BaseActiviy 的 java类。然后让他继承APPcompatActivity  让之前的那几个Activity 来继承这个baseactivity 并在这个BaseActivity 中重写oncreate 方法

Log.d("XX ",getclass.getSimpleName()); 再进入对应的活动就能看到了

@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    Log.d("BaseActivity", "XXXXXXXX " +getClass().getSimpleName());
}

优雅退出

    活动的管理是任务栈的形式去实现的,所以,如果我开启A。B。C三个服务,需要按Back三次才能推出,
public class Collecter {
    static ArrayList<Activity> al = new ArrayList<Activity>();
    public static void addActivity(Activity activity) {
        al.add(activity);
    }
    public static void removeActivity(Activity activity) {
        al.remove(activity);
    }
    public static void removeAll() {
        for (Activity activity : al) {
            activity.finish();
        }
    }
}

在BaseaActivity中使用:

public class BaseActivity extends AppCompatActivity {
    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        Collecter.addActivity(this);
    }
    @Override
    protected void onDestroy() {
        super.onDestroy();
        Collecter.removeActivity(this); 
    }
}

在想要退出程序的地方直接Collector.removeAll();  当然可以在销毁所有活动的代码后面加上杀掉当前进程
android.os.Process.killProcess(android,os,Process.myPid());
.killProcess 这个方法是杀进程的方法,但是只能杀自己,不能杀别人的进程      .myPid() 方法可以获得当前进程的id

良好的代码风格

很多大一点的项目都是协同开发的,很多时候,需要传递数据。我们常规的比如从一个页面调到另一个,直接就写了,但是有时候,需要去问,去看对应的代码,所以对代码进行一次封装,就可以减少很多工作了:

public static void actionStart(Context  context, String aa, String bb) {
    Intent   i  = new Intent(context,SecondActivity.class);
    i.putExtra("gg",aa);
    i.putExtra("bb",bb);
    context.startActivity(i);
 }
SecondActivity.actionStart(MainActivity.this,"哈哈","wocao");

需要传递2个重要参数,但是这个时候那个活动不是我写的,2个方法,
1.去阅读他的代码.2.问他
如 活动1 要跳活动2在 活动2中封装一个static方法

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,613评论 25 709
  • 又来到了一个老生常谈的问题,应用层软件开发的程序员要不要了解和深入学习操作系统呢? 今天就这个问题开始,来谈谈操...
    tangsl阅读 4,204评论 0 23
  • 爱的表达(点击左侧蓝字) 夏目漱石:“今晚月色很好。” 村上春树:“你头发乱了哦。” 张爱玲:“哦,原来你也在这里...
    袁卫星阅读 832评论 1 7
  • “宝剑锋从磨砺出,梅花香自苦寒来。”给孩子怎样的一种教育,那是父母义不容辞的义务也是父母智慧的体现。 ...
    筱竹华倩阅读 902评论 0 0
  • 翌日清晨,大雨后,有风,微冷。后院田地里遍野的油菜花。空气中夹杂着湿润清新的甜腻感觉。昨夜被屋檐滴水的声音惊醒。醒...
    过悦阅读 226评论 0 2