最近解决tab滑动及点击快速切换,快速点击压力测试系统会崩溃问题心得

790人阅读 评论(0) 收藏 举报
分类:

         最近在项目中应用到了ViewPagerIndicator+Fragment组合实现可点击,可滑动tab切换,但每个Fragment都有不少接口向后台请求数据,但产品需求请求数据后界面数据是不会经常变化的。

         刚做完,通过压力测试来回快速切换系统会出现崩溃,那么开始漫长的寻找问题之路。

         首先我认为会是内存溢出的问题,所以我通过MAT检测发现,果然在其中一个Fragment中犹豫有比较多比较大的图片,没有做好释放,加上之后解决了内存溢出的风险;但是依然在钢琴手一样的压力测试下依然会出现ANR;

         这次我想到的方法是写一个小算法类似于防止快速重复点击的算法,写好后虽然有优化但依然没有彻底解决。

         有一次我讲每个Fragment的生命周期都打印一遍,发现ViewPager存在预加载的问题,我决定去掉预加载,这样会减轻网络请求压力,这次有很大的提高,但每次切换都会重新加载,会出现短暂的白屏也是一个问题。

          我又研究了一下FragmentPagerAdapter,为什么不能在切换下保存数据状态呢,最后找到了方法彻底解决了系统不稳定的问题。

          但是还有一个问题如果用FragmentPagerAdapter切换保存数据后,那么什么时候在服务器更新数据后在进行请求呢,而我们的产品又不是类似新闻类软件需要实时更新数据(那样就需要轮询功能,或者推送机制);所以再优化就应该需要和服务器一起解决,服务器提供一个接口来告诉我什么时候有新数据需要更新,我再去更新数据。



      至此,就是我的解决过程及一些想法,不知道对不对,是否合理;希望有大神指点。

取消预加载方法:ViewPager+Fragment连用取消预加载(ViewPagerIndicator+Fragment) 一文

保存数据状态方法:ViewPager中切换及滑动切换Fragment数据保存状态讲解 一文


查看评论

Tab选项卡点击 滑动效果js实现

html部分代码: 公告 规则 论坛 安全 公益 张勇:玩快乐足球 张勇:玩快乐足球 ...
  • arvin_top
  • arvin_top
  • 2017-04-20 16:05:21
  • 1027

android tab切换的资源回收解决方案

现在大多数app都使用tab结构,2.3的时代主要使用tabhost去实现tab切换。但现在Android官方却不推荐直接使用tabhost类了,取而代之的是结合Fragment的FragmentTa...
  • cjh2830
  • cjh2830
  • 2015-07-14 12:45:57
  • 455

ViewPager+TabLayout滑动简单实现

用ViewPager+TabLayout实现简单滑动实现,可手动滑动,tab切换,先上效果预览:      由于TabLayout位于design包下,所以得先引入design包,TabLayout...
  • u010696783
  • u010696783
  • 2016-07-01 14:22:22
  • 2160

<em>Tab</em>Layout+fragment实现<em>滑动</em>到或者<em>点击</em>某fragment该fragment才...

<em>Tab</em>Layout+fragment实现<em>滑动</em>到或者<em>点击</em>某fragment该...<em>Tab</em>layout 传数据时fragment <em>Tab</em>Layout自己踩过的一些...(为了良好下载体验及使用,每位用户24小时之内最多可...
  • 2018年04月16日 00:00

TabLayout + ViewPager,点击tab,导致闪屏问题

最近在做新闻项目,一直困惑TabLayout + ViewPager,点击tab,导致闪屏问题的问题,研究了几款新闻类型的项目,发现可以点击直接显示ViewPager 对应的页面。上代码: tlTa...
  • qq_34476727
  • qq_34476727
  • 2017-05-17 10:11:27
  • 833

解决Fragment切换过快程序崩溃

这几个方法本人亲试
  • loveyh77
  • loveyh77
  • 2017-08-10 10:58:11
  • 409

用TabLayout实现选项卡滑动效果

实际开发中,ViewPager经常结合Fragment来使用,然后再使用三方开源的PagerSlidingTabStrip去实现类似选项卡滑动效果。我之前那个APP的首页就是这样搭建的。 基于Mat...
  • tyk0910
  • tyk0910
  • 2016-05-13 14:57:31
  • 19911

android 开发 TabLayout+ViewPager 点击+滑动效果

TabLayout是android design包内的控件;  一般情况下,它总是喜欢和ViewPager成对出现; 实现效果图: 具体代码实现如下: ...
  • u012607014
  • u012607014
  • 2017-02-09 15:18:07
  • 744

利用swiper进行tab切换时,需要注意的问题。

css:.swiper-slide:{height:10px}; .swiper-slide-active:{height:auto}
  • junyu1024
  • junyu1024
  • 2017-12-07 16:52:19
  • 341

viewpager切换fragment时崩溃问题

先看报错信息 经过排查,点击tab切换的时候没发现这个问题,滑动viewpager的时候出现了这个问题,所以应该是viewpager滑动监听时候的问题。 最后问题定位 pu...
  • languobeibei
  • languobeibei
  • 2016-12-30 14:39:48
  • 1018
    个人资料
    持之以恒
    等级:
    访问量: 7万+
    积分: 1832
    排名: 2万+
    最新评论