当前位置: 首页 > news >正文

注册网站免费注册ins有特效的网站

注册网站免费注册ins,有特效的网站,广告型网站建设,wordpress 首页大图上一篇文章中#xff0c;我们有提到Activity在屏幕尺寸发生变更时的处理方式#xff0c;总共有两种#xff1a; 重启APP以适应屏幕改变#xff1b;手动处理数据#xff0c;避免APP重启。同样#xff0c;这两种方式也同时适用于改变屏幕方向、更改系统语言、甚至输入法等等…上一篇文章中我们有提到Activity在屏幕尺寸发生变更时的处理方式总共有两种 重启APP以适应屏幕改变手动处理数据避免APP重启。同样这两种方式也同时适用于改变屏幕方向、更改系统语言、甚至输入法等等。 因此本文也同样适用于改变屏幕方向等情况的处理。 或许你会有疑问我们该如何选择合适的处理方式呢 我给你的答案是选择最合适的。 这么说好像跟没说一样别急给大家举个例子就明白了 比如更改屏幕方向由竖屏转换为横屏如果我们只有一套布局符合按比例缩放仍然显示正常的话我们大可以选择第2种处理方案。但是如果我们的横竖屏布局是不同的比如系统中的“设置”应用那么我们选择第2种处理方案就是不合适的。 下图 这是一个典型的横竖屏分别采用不同布局的例子。 我们确定要采取那种解决方案后接下来很可能要面对另一个问题就是性能瓶颈。 根据前一篇文章的实验结果在发生横竖屏切换的时候Activity的生命周期通常会按照如下顺序依次执行 D/MainActivity: onPause D/MainActivity: onSaveInstanceState D/MainActivity: onStop D/MainActivity: onDestroy D/MainActivity: onCreate D/MainActivity: onStart D/MainActivity: onRestoreInstanceState D/MainActivity: onResume 如果我们在生命周期中做了一些繁重的工作那么整个Activity在重启的过程中就会很慢。 要解决这个问题首先我们要找Fragment帮忙因为Bundle并不是用来传递大型对象的而且这个对象还需要序列化和反序列化如此执行起来就更慢了。 当然如果你只是保存一些整型或者字符串的话单纯使用Bundle而不借助Fragment也是可以的但是这样的场景在实际开发中并不常见。 要借助Fragment来中转对象我们采用下面三步走的方式 在Fragment类中调用 setRetainInstance(true)在Activity销毁时向Fragment类存入数据在Activity重建后根据Tag检索Fragment并取出之前存入的数据。下面用具体的代码片来演示 首先来看Fragment类 public class TestFragment extends Fragment {private MyData data;Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setRetainInstance(true);}public void setData(MyData data) {this.data data;}public MyData getData() {return data;} } 我们再来看Activity类 public class MyActivity extends Activity {private TestFragment mTestFragment ;Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);FragmentManager fm getFragmentManager();mTestFragment (TestFragment)fm.findFragmentByTag(“test”);if (retainedFragment null) {mTestFragment new TestFragment ();fm.beginTransaction().add(mTestFragment, “test”).commit();mTestFragment.setData(restoreData());}}Overridepublic void onDestroy() {super.onDestroy();mTestFragment.setData(saveData());} } 这里还要特别注意一点在中转对象数据时不要传入与Activity紧密相关的对象比如View否则会造成内存泄漏。 至此就完成了对重启Activity方案的性能优化。 转载于:https://www.cnblogs.com/wenhanxiao/p/10373717.html
http://www.yutouwan.com/news/302346/

相关文章:

  • 南宁网站推广工具网站的建设多少钱
  • 天猫网站建设基本情况专业网站建设 公司
  • 51zwd一起做网站app推广软文范文
  • 网站某个链接失效广告联盟官网
  • 学生免费服务器网站搜索引擎优化方案
  • 搭建一个网站花多少钱网站设计的流程
  • 网站建设 开办费抖音关键词查询工具
  • 重庆做个网站多少钱网站虚拟主机公司
  • 厦门城乡住房建设厅网站首页高端访问
  • wordpress 自定义文章搜索自定义关键词优化
  • 国外的网站模板花生壳做wordpress
  • 四川交投建设工程股份有限公司网站wordpress 文章 表格
  • 毕业设计网站模板搜索引擎提交入口
  • 国家工信部网站备案查询系统网页制作基础教程慕课版
  • 中职网站建设wordpress模板堂
  • 伪装学渣无极网站做网站选择什么服务器
  • 莱芜网站优化加徽信xiala5网站推广营销的意义
  • wordpress建站哪里好百度手机助手下载安装
  • 从化五屏网站建设辽宁建设工程信息网二级建造师查询
  • 乐山高端网站建设wordpress站群代
  • c语言 网站开发网站开发周记
  • 校园网站建设的维护网页ui设计师培训
  • 安阳门户网站西部数码网站管理助手 数据库
  • 厦门网站建设模板专业做图片制作网站有哪些
  • 南昌哪家做网站好wordpress 一键安装包
  • 核工业西南建设集团有限公司网站优质的杭州网站优化
  • 装修公司网站如何做网络推广php语言入门
  • 建设游戏网站需要什么设备asp.net的网站开发
  • wordpress邮件验证码确认网站优化培训中心
  • 塔罗牌手机网站制作做新房网站怎么弄