【Android归纳】阿里笔试题之Android网络优化
16lz
2021-01-26
记得这是阿里校招笔试的一道问答题
答案是小伙伴们之后一起拼出来的,不乏有些飘忽的东西,需要的朋友可以做个参考(具体细节可以自行百度),欢迎提出更好的建议!
1.减少网络请求的数量,能够合并的网络请求尽量合并,尽量在一次查询中完成多个零散数据的查询 2.为网络数据做本地缓存处理 3.设置超时时间,数据压缩传送,比如从服务器端获取列表数据,如果可以最好是能将服务器端的流压缩一下,接收压缩流,这样速度会快点,而且省流量。 3.多线程处理,不要死等网络操作的结果,把耗时工作及计算放在子线程中 4.客户端请求数据尽量精简,需要哪些数据请求哪些数据,拉取数据分页查询、使用时间戳、lastId等查询,避免一次获取很多不需要展示的数据 5.对单次请求的数据进行压缩,如Gzip进行http数据通信的压缩,数值上连续的数据(如经纬度坐标序列)可以传递差值 6.对于资源文件,如图片,进行多个版本的保存和请求,大图小图分别异步加载 7.响应要及时,尽量给出友好的提示,提示用户等待,使用ProgressBar或者ProgressDialog,别让用户感觉程序“卡死”
在前端方面:
1:减少http请求,采用推送机制 2:资源的合并压缩处理,CSS Sprites 合并CSS图片,Inline Images 使用data: URL scheme的方式将图片嵌入到页面或CSS中 3:脚本底置 4:使用浏览器缓存。 5:在首次载入页面时加载html,之后再加载js。 6:使用HTML5和CSS3.0简化页面
在服务端方面:
1.尽量做好数据库设计,从设计上考虑减少网络请求次数
业务设计优化:
1:一切基于云配置。(重要的是云配置参数) 2:采用组件化设计,开发,动态加载 3:网络通信模块封装,返回数据统一处理(JSON-Mode)
补充: 请参考如下链接:移动端网络优化
更多相关文章
- SpringBoot 2.0 中 HikariCP 数据库连接池原理解析
- 一句话锁定MySQL数据占用元凶
- 浅析android适配器adapter中的那些坑
- Flutter学习六之实现一个带筛选的列表页面
- Android(三)数据存储之XML解析技术
- Android关于json数据的处理JSONObject、Gson、FastJson、Jackson
- android不在坑系列一:数据库框架的选择
- 针对 android端模拟教务系统登陆,主要针对抓包过程,post,get请求,和
- Android利用LocalSocket实现Java端进程与C端进程之间的IPC