当前位置: 首页 > 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.huolong8.cn/news/302346/

相关文章:

  • 欧美网站模版以下五项中哪项是网络营销的特点
  • 网站对联广告素材先做网站后备案吗
  • 口红网站建设目标手机网站建设哪里好
  • 站内免费推广的方式有哪些app对接wordpress
  • 谷歌绘制的网站免费中文wordpress主题下载地址
  • 平凉市建设局网站滨江区网站开发公司
  • 建设网站实验活动小结济南网站建设(力推聚搜网络)
  • 网上最好的网站模块烟台公司建网站
  • 自适应型网站建设费用公司企业建言
  • 苏中建设 官方网站贵阳培训网站建设
  • 用php做网站好的网站具备条件
  • 北京赛车网站开发多少钱模板网站可以做推广吗
  • 内蒙古建设部网站中山企业网站建设方案
  • 网站域名备案系统南京网站南京网站开发
  • 一个网站平台建设得多少钱网站开发需要什么语言
  • 高端 网站设计公司用dw制作公司网站
  • 宝山专业网站建设wordpress收费查看
  • 屏蔽网站接口js广告wordpress页面打开404
  • 坂田网站建设公司公益主机
  • 触屏版手机网站学校网站 建设
  • 黑客钓鱼网站的制作广州 网站开发 公司电话
  • 琼筑网站是哪家做的郑州水晶奖杯制作
  • 织梦做的网站进不去上线了做网站多少钱
  • wordpress建站比较网站要实名认证
  • 建筑网站源码国内创意网站案例
  • 专做品牌网站好的优化网站推广公司
  • 自己电脑做网站要下载产品经理培训
  • 现代农业建设 乡网站个人网站制作体会
  • 做目的旅游网站的绩效考核表 网站建设
  • 黄页网站营销政务公开和网站建设情况