Android邪门歪道
16lz
2021-01-26
下面给几个邪门歪道的玩法,都是在实际项目中为了某些诡异需求而产生的。
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太多,这样不好不好
更多相关文章
- Android(安卓)API之ImageView.ScaleType代码演示
- Android(安卓)干货App开发总结
- Bitmap,byte流,drawable之相互转换
- Android(安卓)Studio 使用lint工具进行代码优化
- Android(安卓)自定义选项卡按钮和选项卡位置
- APK反破解之一:Android(安卓)Java混淆(ProGuard)
- Android的Fragment中onActivityResult不被调用的终极解决方案
- Android(安卓)studio 中Activity以及EditText的一些用法和问题
- 我怎么能不使用GPS得到我的Android设备的国家代码?