


下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实战:如何让你的APP更加轻巧
下面为大家简单解释一下为什么有些手机APP或者应用程序总是那么占用空间:1.历史原因为了兼容老版本或者一些旧有的用户习惯,可能会有一些旧的特性包含在里面,但是有的时候可能项目开发周期短,程序员哥哥是不会去动旧有的东西的,因为一旦牵涉到修改代码,成本是很高的。随便去掉一个功能点,需要考虑整个业务流程逻辑是否通顺完整,改完以后还需要QA再进行回归测试,这个过程就好像是从一整栋建好的大厦里面抽掉一些砖块,一不小心就有瞬间崩塌的危险。2.为了适应不同的用户群体比如像office光安装包就1G多,安装完成之后发现各种组件都已经给你装过了,包括什么ppt啊,visio啊各种乱七八糟的组件,excel里面甚至还包含了vbscript这类开发者用到的组件;正常人类只希望用一个文档或者excel的功能,office就会给你安装了这么一大堆东西。3.追求炫酷、高大上有些app为了追求狂拽酷炫屌炸天的界面效果会使用一些精度比较高的资源(图片、音频、视频),让你看起来好像觉得很牛X的样子,但是这些资源图片占用了整个app容量的大头。其实程序的二进制文件在编译出来之后,把符号文件去掉以后执行文件本身就是非常小的,多则几M,少则几百K4.第三方库有些开发者为了图省事,会直接使用一些开源框架,比如做游戏需要用cocos2d,unity3d等,应用程序可能会用到reactjs等,这样子的好处是直接一套代码跨平台,节省了开发时间,提升了开发效率,但是这些第三方库本身是非常大的,因为第三方库它不知道你要用哪些功能,干脆把所有的东西一股脑都给你。5.用户数据当用户使用这些手机APP(应用程序)的时候会产生很多使用痕迹的,有些手机APP(应用程序)就索性直接用完之后扔在某个地方不管了,比如说产生一些日志文件或者一些临时性的配置文件或者是一些数据记录,就跟随地扔垃圾的人一样讨厌,毫无节操可言。看完上述种种,作为一个PM/RD肯定会有各种理由:我项目周期紧张啊、我的程序员哥哥不甩我啊、占用空间大小的事情只要不影响功能就行了啊、、、等,但是。。。这些都不能成为合理非法大量占用用户使用空间的理由,如何让自己的APP更加轻快,更加好用,这才是我们的终极目标。产品功能再牛X,细节不到位都是白搭;下面给出我自己针对上述问题的一些建议:1.解耦你的程序:现在大家都是用的面向对象语言,如果你的程序的类不能拆分成一个最简单的功能,或者类依赖过多的类,肯定是很有问题的,需要程序员哥哥在写代码之前就要考虑清楚该如何做扩展,如何写基础模块,如何写业务模块,哪些功能做成一个单独的模块,模块里面每个类负责最小化什么样的解耦功能;最好把工具类拆分出来,工具类有可能又分为业务型工具类和通用型工具类,说不定可以用到以后的项目中。类似Chrome的插件模型永远是客户端程序最经典的架构。推荐没事多看看《设计模式》,尽管你可能觉得过时了,不管时代怎么变化,有些基础的思想永远不会变。2.动态的加载所需要的库:如果做到了上一点,第二点就很好解决了,因为所有的模块都是热插拔模式的,可以根据用户的需要把一些不需要的功能模块删掉,保持占用空间最小化。3.尽量多用绘制库:现在的绘制库都是很牛X的了,各种算法都给你写好了,而且优化的非常好,只要运用得好,就不要去用一些图片去解决问题,经常用图片解决问题的程序员是很懒的,懒得去了解绘制库的用法,只要稍微多了解一下你的绘制库,基本上秒杀各种特效了。4.削减第三方库:很多第三方库都包含了很多用不到的功能,把这些功能都去掉吧,这些东西哪天要用到再加上也是可以的,如果你不会削减证明你根本不了解你的生产环境,这样子是很可怕的;赶紧动起来,去了解你的底层。5.尽量把一些重要的用户数据自动上传到云端:比如一些最近的聊天记录,聊天记录中一些图片文件等最好也要存成ID号上传到业务服务器,图片另外用图床存都是可以的。还有一些用户的使用偏好配置等信息也要保存到云端,本地可以留少许的数据;我有一个朋友前两天发朋友圈说自己某信所有聊天信息都没有了,不知道是咋回事,结果各种倒腾了一天终于搞好,但是损失的时间成本和沟通成本是无法估量的,由此可见像这种极端异常情况如果处理好了,带来的价值远远是高于做这些优化所付出
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年开封运输从业资格证考试技巧
- 农业设备供货合同范本
- 劳动合同范本大全
- 2025年运城货运上岗证模拟考试试题
- 专利侵权检索合同范本
- 买卖废钢材合同范本
- 劳务合同范本无社保
- 临泉教师合同范本
- 三人合作协议合同范本
- 交电产品销售合同范例
- 编辑出版史考试重点整理
- (74)-17.3手性高效液相色谱法
- 浅谈新生儿肺透明膜病的影像学诊断
- SMT失效模式分析PFMEA
- 国际贸易地理全套课件
- 家校共育-助孩子成长-家长会课件
- 叉形件工艺及车床夹具设计说明书
- GB/T 5916-2008产蛋后备鸡、产蛋鸡、肉用仔鸡配合饲料
- 《中小学教育惩戒规则》(试用)试题及答案
- GB/T 23723.1-2009起重机安全使用第1部分:总则
- 安全测试工具、蹭网利器wifiphisher新增汉化版
评论
0/150
提交评论