开机速度
- splash广告逻辑,首次加载的图片为应用放在res文件夹下面几个文件夹里面的图片,同时会去调用接口获取下一次打开的时候要显示的图片url,并缓存图片;下次进入该界面显示图片并继续访问接下来一次的图片,为了保证打开速度,这个网络请求务必异步处理。
- 引导图,不要超过4页。动画可原生实现,可gif,可视频来实现。
- 进入首页之前进行地理位置的定位,保证进入首页显示的数据为当前城市的信息。
- app首页设计,尽可能多的将所有产品展示在首页,会有广告,搜索栏,滚动条。
上面为用户可见的数据,一些不可见数据:
- umeng打点,统计激活数。
- 注册推送。
- 根据推送协议进行页面跳转。
- 初始化崩溃收集机制,比如崩溃信息上传等。
html5页面打开速度
- 将html5数据打包进zip包里面去,每次从本地zip解压文件里面加载html5数据;新增或者修改html5信息怎么办,进行版本控制,如果版本一致,加载本地解压数据,如果不是加载新的zip包的解压数据;其中公共的,不变化的html5数据压缩为公用的zip压缩包并下发,那么每次下载的时候只下载新增和修改的那部分html5文件的压缩包。在上个页面设置不可显示的webview加载html5数据,在下个webview加载的时候直接从本地缓存文件里面去加载。
安装包大小
- app安装包一定要小,或者实现增量更新,减少对用户流量的不必要耗费。
- 图片,音频,视频文件应该在前期提供的时候就尽可能处理的体积足够小。
我的观点:
对于分享,推送,定位,地图等第三方服务集成的时候,能用微信官方,新浪官方自己去实现就尽可能自己去实现,因为团队里面有人为了实现分享集成umeng分享功能,导致应用大小增加4M知道,其中包括很多无用的代码和资源文件,请慎重。
png和jpg的使用场景
- 同背景图片,png加载速度大于jpg,手机会对png进行硬件加速。
- 网络图片采用jpg图片比较合适。
- 广告图,引导图采用jpg比较合适。
splash图片,引导图,背景图
- splash图片现在在300-500k之间。
- 引导图可以将背景图片和前景图片分开,实现背景图片或者前景图片的可重用性。
- 背景图限制在1M以内,并没必要png格式,jpg格式就行了。
表情包的方案同上面html5页面打开速度的论述,都是通过zip来进行增量更新。
清理无用代码和资源文件
- eclipse时代用undector可以实现无用代码的检测,android studio暂时没发现,无用资源文件可以通过link来实现无用资源文件,无用style等检测,但是还是需要手动进行删除。
- 通过使用proguard来配置混淆代码文件来清理无用的代码,减少apk的大小。
性能优化
- 网络请求优化:针对2G,3G,4G,wifi环境服务器端配置不同的服务器,分别接入移动,联通,电信的专线,并在客户端进行配置,app登录获取遍历访问2G,3G,4G,wifi的针对性域名并判断出最佳的访问素的的域名,并在一段时间内访问该域名。为了避免抢占同一服务器的资源,可以在服务器端设置针对的优先级。
- 抛弃使用http+json,转而使用tcp+protobuf。
页面跳转逻辑解耦
时间: 2024-12-04 17:11:44