zoukankan      html  css  js  c++  java
  • 【Android归纳】阿里笔试题之Android网络优化

    记得这是阿里校招笔试的一道问答题

    答案是小伙伴们之后一起拼出来的,不乏有些飘忽的东西,须要的朋友能够做个參考(详细细节能够自行百度)。欢迎提出更好的建议。


    在client方面:

    1.降低网络请求的数量。可以合并的网络请求尽量合并。尽量在一次查询中完毕多个零散数据的查询
    2.为网络数据做本地缓存处理
    3.设置超时时间。数据压缩传送。比方从server端获取列表数据。假设能够最好是能将server端的流压缩一下。接收压缩流,这样速度会快点,并且省流量。

    3.多线程处理,不要死等网络操作的结果,把耗时工作及计算放在子线程中
    4.client请求数据尽量精简,须要哪些数据请求哪些数据,拉取数据分页查询、使用时间戳、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)

    补充:
    请參考例如以下链接:移动端网络优化

  • 相关阅读:
    CentOS7 安装rabbitmq
    CentOS 7安装和配置ssh
    日志备份脚本
    Dubbo配置优化
    MySQL Index Condition Pushdown(ICP) 优化
    Mysql 5.6 新特性(转载)
    Mysql 中bitwise对效率的影响??
    Linux 通过 load average 判断服务器负载情况
    VMware使用过程中出现了虚拟机繁忙问题
    Centos7设置开机启动界面:图形化or命令行
  • 原文地址:https://www.cnblogs.com/yjbjingcha/p/6858628.html
Copyright © 2011-2022 走看看