我现在有一个接口,接口中能获取很多网站数据,用一个ArrayList<HashMap<String,String>> 来存储这些需要显示在listview的数据。 现在实现的方案是:首先把接口中的数据全部读出来(貌似只能一次全部读出来),然后10条10条加载到listview中。
现在我在想,能不能通过这个接口一点一点的读?然后一点一点的放入ArrayList里面,比如读取接口中的10条数据,然后加载到listview中,感觉这样性能上会好很多。这样能实现吗?需要怎样才能实现呢?还是我想错了?请教各位了,谢谢!
如果接口有分页拉取数据功能,那此问题不存在。
法一:自己写个服务端处理接口返回的数据,也就是本来客户端要处理的分页逻辑放在服务端做,客户端只做无脑展示。
法二:客户端处理分页逻辑(你现在就是这么干的)
法一加了一个中间层,拉取数据可能变慢。
法二增加了客户端资源消耗和性能损耗。
请自行比较二者耗费的资源和时间。
PS:我们的接口一般最后会加个page=num,获取分页数据。当然Json里面会有个标示Flag,例如:hasMore:"false/true",根据此标示决定是否有更多数据。