下面给几个邪门歪道的玩法,都是在实际项目中为了某些诡异需求而产生的。

1、强行关闭

作用:无论在何时何地都能关掉某个Activity

代码:

publicclassTestActivityextendsActivity{privatestaticTestActivityme=null;publicstaticvoidclose(){if(me!=null){me.finish();}}@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);me=this;}}

好处:简单、粗暴。不管你是在Adapter中,还是在其他Activity中,仅仅一句代码就可以关闭。(如果同个Activity打开多次,可以用数组解决)

弊端:静态Activity占用内存

2、毁尸灭迹

作用:临时处理一些诡异的跳转,比如A到B到C,在C按返回到A

代码:

Intentintent=newIntent(this,MainActivity.class);startActivity(intent);finish();

好处:每次跳转都会干掉原先的Activity,想跳到哪个界面就重新startActivity一次。这样做的好处是不用花时间去想那些奇葩需求的跳转逻辑,反正我全都干掉,要显示哪个就跳哪个。

弊端:每次都要重新启动Activity,需要加载时间,建议只在部分特殊场景使用

注意:部分手机可能会出现界面切换时,上一个界面先关闭,一定延迟后进入下个界面,给人感觉像整个应用关闭了再重启的样子,要避免这种情况,可以弄个Handler延迟finish。

3、观察者模式

作用:装B

代码:把所有Activity弄成观察者,被观察的对象是个单例工具类

好处:可以在任何地方调用一句工具类代码关闭或更新某个界面

弊端:实际上就是上面1的数组版本,静态Activity太多,这样不好不好

更多相关文章

  1. Android(安卓)API之ImageView.ScaleType代码演示
  2. Android(安卓)干货App开发总结
  3. Bitmap,byte流,drawable之相互转换
  4. Android(安卓)Studio 使用lint工具进行代码优化
  5. Android(安卓)自定义选项卡按钮和选项卡位置
  6. APK反破解之一:Android(安卓)Java混淆(ProGuard)
  7. Android的Fragment中onActivityResult不被调用的终极解决方案
  8. Android(安卓)studio 中Activity以及EditText的一些用法和问题
  9. 我怎么能不使用GPS得到我的Android设备的国家代码?

随机推荐

  1. 我把阿里、腾讯、字节跳动、美团等Androi
  2. Android(安卓)实现用户列表信息的功能,然
  3. 物联网温湿度显示控制项目(网页、Android
  4. Android--多线程之Handler
  5. 【Android】Android中使用JNI调用底层C++
  6. 手把手教你学Android(基础篇)
  7. (Android(安卓)studio)关于drawable文件夹
  8. Android浏览器打开本地app前端同学的两种
  9. 在 Android(安卓)11 上使用第三方 SDK 向
  10. Pro Android(安卓)4 第一章 Android(安卓