zoukankan      html  css  js  c++  java
  • Android流量控制——列表页面

    1.最简单的模式:
      设计:

        1.将页码值传给服务器,让服务器返回对应的页码数据
        2.数据缓存:只缓存第一页数据。
      好处:

        1.实现简单、无脑
      坏处:

        1.浪费流量,如果用户一直在等某个人发送消息的话。那么用户肯定会狂刷新。这个时候,我们重复加载了第一页。那么这种设计肯定是不合适的。因为他加载了很多无用的数据。
      适用场景:尽快的完成项目,做Demo给客户看的时候可以使用这种模式。
    2.最无聊的设计:
      设计:

        1.刷新时:将用户的最后一条数据的id或者产生时间发送给服务器。然后让服务器返回给我们之后的数据。
        2.加载下一页:将用户显示页面中的最后一条数据传递给服务器,然后让服务器将对应的列表中包含的值得数据的id和标示值(可以是时间)发送给我们,我们挨条数据跟本地比对,把没有的或者标示不同的的id列表发送给服务器,然后服务器将我们请求的id的数据发送给我们。
        3.数据缓存:尽可能的缓存所有数据
      好处:

        1.节省流量,无论是当用户一直在刷新、还是查看已经看过的下一页数据。都可以将数据正确的返回给用户。
      坏处:

        1.冗余设计,只看这个逻辑就知道,代码量一定会很大。
        2.增加服务器压力,中间服务器根据用户信息判断的时候肯定会增加服务器的压力。也是肯定会的。如果用户数不是很大的时候。我们可以考虑一下。
        3.浪费手机存储空间,中间我们肯定会对用户的数据进行一定的缓存,这个缓存可能是有效的也可能是无效的。视情况而定。
      适用场景:适用人数不多,并且数据经常被查看的情况下。可以有效的节省流量。
    3.折中的设计:
      设计:

        1.刷新时:将用户的最后一条数据的id或者产生时间发送给服务器。然后让服务器返回给我们之后的数据。
        2.加载下一页的时候,我们将对应的页码传递给服务器去请求对应的数据。
        3.只缓存第一页数据。
      好处:

        1.实现比较简单
        2.不会浪费太多的流量,针对于第一页数据进行数据优化(这个假设是比较关心最新的数据。像是SNS一样。昨天你看到你的朋友发的一条信息,你还有兴趣看第二遍吗?)
        3.加载之前的页面的时候,直接去请求数据。不多多余的缓存,节省手机客户端资源。
      坏处:

        1.如果用户经常去翻之前的数据,那么可能会比较浪费流量。
        适用场景:SNS社交一类的,看完第一遍的数据一般不会查看第二遍的情况。

    即使是优秀的设计业不能应对与所有的情况,根据不同的情况制定不同的对策可以制作出优秀的软件。

    更多相关文章http://c.jinhusns.com

  • 相关阅读:
    时间及时间戳相互转换
    指针偏移
    C# TreeView模糊查找节点
    Checkedlistbox只能单选不能多选
    获取本机的IP地址
    检测插件是否已注册,注册插件
    知道内存中一个图片的指针IntPtr大小,转换成图片显示
    C# 判断点是否在矩形框内
    C# 从图片中截取一部分图片,并返回所截取的图片
    C# 管道通信 (client —— server)Framework2.0版本也可用
  • 原文地址:https://www.cnblogs.com/anxin1225/p/3314595.html
Copyright © 2011-2022 走看看