如何让你的APP更加轻巧?

 

  有些硬盘比较小的用户或者是苹果手机容量比较小的的用户可能经常抱怨手机APP或者安装的应用程序太大导致设备空间不够用。特别是微软Outlook为何要1G安装包,而foxmai只要60M,为何同样的竞品APP有的点160M手机空间,有的只占5M? 而且当用户空间不够用的时候,如果你的app在占用空间排行榜上比较靠前的位置,那么你的手机APP就会变成用户要删除的首选目标。

  下面为大家简单解释一下为什么有些手机APP或者应用程序总是那么占用空间:

  1. 历史原因

  为了兼容老版本或者一些旧有的用户习惯,可能会有一些旧的特性包含在里面,但是有的时候可能项目开发周期短,程序员哥哥是不会去动旧有的东西的,因为一旦牵涉到修改代码,成本是很高的。随便去掉一个功能点,需要考虑整个业务流程逻辑是否通顺完整,改完以后还需要QA再进行回归测试,这个过程就好像是从一整栋建好的大厦里面抽掉一些砖块,一不小心就有瞬间崩塌的危险。

  2. 为了适应不同的用户群体

  比如像office光安装包就1G多,安装完成之后发现各种组件都已经给你装过了,包括什么ppt啊,visio啊各种乱七八糟的组件,excel里面甚至还包含了vbscript这类开发者用到的组件;正常人类只希望用一个文档或者excel的功能,office就会给你安装了这么一大堆东西。

  3. 追求炫酷、高大上

  有些app为了追求狂拽酷炫屌炸天的界面效果会使用一些精度比较高的资源(图片、音频、视频),让你看起来好像觉得很牛X的样子,但是这些资源图片占用了整个app容量的大头。其实程序的二进制文件在编译出来之后,把符号文件去掉以后执行文件本身就是非常小的,多则几M,少则几百K

  4. 第三方库

  有些开发者为了图省事,会直接使用一些开源框架,比如做游戏需要用cocos2d, unity3d等,应用程序可能会用到reactjs等,这样子的好处是直接一套代码跨平台,节省了开发时间,提升了开发效率,但是这些第三方库本身是非常大的,因为第三方库它不知道你要用哪些功能,干脆把所有的东西一股脑都给你。

  5. 用户数据

  当用户使用这些手机APP(应用程序)的时候会产生很多使用痕迹的,有些手机APP(应用程序)就索性直接用完之后扔在某个地方不管了,比如说产生一些日志文件或者一些临时性的配置文件或者是一些数据记录,就跟随地扔垃圾的人一样讨厌,毫无节操可言。

  看完上述种种,作为一个PM/RD肯定会有各种理由:我项目周期紧张啊、我的程序员哥哥不甩我啊、占用空间大小的事情只要不影响功能就行了啊、、、等,但是。。。这些都不能成为合理非法大量占用用户使用空间的理由,如何让自己的APP更加轻快,更加好用,这才是我们的终极目标。产品功能再牛X,细节不到位都是白搭;下面给出我自己针对上述问题的一些建议:

  1. 解耦你的程序:现在大家都是用的面向对象语言,如果你的程序的类不能拆分成一个最简单的功能,或者类依赖过多的类,肯定是很有问题的,需要程序员哥哥在写代码之前就要考虑清楚该如何做扩展,如何写基础模块,如何写业务模块,哪些功能做成一个单独的模块,模块里面每个类负责最小化什么样的解耦功能;最好把工具类拆分出来,工具类有可能又分为业务型工具类和通用型工具类,说不定可以用到以后的项目中。

  类似Chrome的插件模型永远是客户端程序最经典的架构。推荐没事多看看《设计模式》,尽管你可能觉得过时了,不管时代怎么变化,有些基础的思想永远不会变。

  2. 动态的加载所需要的库:如果做到了上一点,第二点就很好解决了,因为所有的模块都是热插拔模式的,可以根据用户的需要把一些不需要的功能模块删掉,保持占用空间最小化。

  3. 尽量多用绘制库:现在的绘制库都是很牛X的了,各种算法都给你写好了,而且优化的非常好,只要运用得好,就不要去用一些图片去解决问题,经常用图片解决问题的程序员是很懒的,懒得去了解绘制库的用法,只要稍微多了解一下你的绘制库,基本上秒杀各种特效了。

  4. 削减第三方库: 很多第三方库都包含了很多用不到的功能,把这些功能都去掉吧,这些东西哪天要用到再加上也是可以的,如果你不会削减证明你根本不了解你的生产环境,这样子是很可怕的;赶紧动起来,去了解你的底层。

  5. 尽量把一些重要的用户数据自动上传到云端:比如一些最近的聊天记录,聊天记录中一些图片文件等最好也要存成ID号上传到业务服务器,图片另外用图床存都是可以的。还有一些用户的使用偏好配置等信息也要保存到云端,本地可以留少许的数据;我有一个朋友前两天发朋友圈说自己某信所有聊天信息都没有了,不知道是咋回事,结果各种倒腾了一天终于搞好,但是损失的时间成本和沟通成本是无法估量的,由此可见像这种极端异常情况如果处理好了,带来的价值远远是高于做这些优化所付出的成本的。

  最后建议一点,PM在日常开发过程中也需要把这些细节作为整个项目的一个需求去认真的落地,因为只有像这样才能够打磨出真正的精品。

时间: 2024-10-30 19:27:12

如何让你的APP更加轻巧?的相关文章

移动App赚轻巧钱的时代已经Over了

中介交易 SEO诊断 淘宝客 云主机 技术大厅 移动应用产业发展地如此迅速,以至于很棒的产品都不能在混乱中产生影响,因为没有影响力,所以没用户,没用户就没有商业模式. 现在的移动创业进入了一个由Flipboard, Pulse, Zite, News.me, News360以及其他几个新的聚合/内容管理应用程序主导的市场. 反思移动优先 之前著名风投Fred Wilson也是支持移动优先的先驱,但两年后他也开始在博客中指出这个趋势已经变化了,并表示移动第一,Web第二.就连社交网络Path的用户

登陆表单设计案例:网页和APP登陆表单

文章描述:网页与APP中那些优美的登陆表单. 我从Dribbble收集了20个漂亮的登陆表单案例.希望你看后能从中受益,并对你以后的登陆表单设计有帮助.设计一个登陆表单看上去非常容易,但大多设计都很糟糕.毫无亮点.无论如何,这篇Dribbble案例集锦绝对走的是另一个极端.希望它们能赢得你的青睐!来一起欣赏吧:) 网站与APP中的登陆表单 继承了iOS7的精髓,这件登陆界面作品将iOS7微妙的动画背景上升到一个新的层面.此处的背景完全是一张动画图片--甚至可能是GIF.尽管这背景事实上没有那么精

Mobile app视觉传达的魅力

时下移动开放平台众多,苹果.谷歌.微软.诺基亚都有自己的移动开发平台,想让自己的产品在众多的开放平台中留住用户,只靠品牌是不够的,产品用户体验比品牌更重要.我们可以充分的利用移动设备的特性,运用视觉传达的表现方式,去创造具有优秀的用户体验的app应用软件. 在如今这个智能手机时代,大屏幕高分辨率触摸屏的智能手机在市场上即将呈现普及的趋势.智能手机意味着会有许许多多的app应用软件,大屏幕高分辨率触摸屏意味着可以展现色彩丰富.漂亮华丽的视觉界面.这个时代赋予了视觉传达设计领域新的机遇和广阔的应用设

网页与APP中那些优美的登陆表单

  Dribbble收集了20个漂亮的登陆表单案例.希望你看后能从中受益,并对你以后的登陆表单设计有帮助.设计一个登陆表单看上去非常容易,但大多设计都很糟糕.毫无亮点.无论如何,这篇Dribbble案例集锦绝对走的是另一个极端.希望它们能赢得你的青睐!来一起欣赏吧:) 网站与APP中的登陆表单 继承了iOS7的精髓,这件登陆界面作品将iOS7微妙的动画背景上升到一个新的层面.此处的背景完全是一张动画图片--甚至可能是GIF.尽管这背景事实上没有那么精致,但这一定是你平时不常见的设计.你几乎很难见

App设计VS Web设计:互相学习到了什么

我们通常将http://www.aliyun.com/zixun/aggregation/9086.html">App设计和Web设计看作两个完全不同的领域. 由于Web App的出现,彼此之间的界限似乎变得模糊了,不过我们依旧尝试对比App设计和Web设计.即使是同时工作于这两方面的设计师也常常将它们区别对待. 其实这两方面可以互通互补.每类设计都有自己的优点和缺点,往往也需要在其它方面进行补充. 下面是App设计和Web设计间可相互借鉴的六点. 1.避免功能泛滥 App设计师们清楚,额

干货:推荐十五款APP原型设计工具

我们知道,一款优秀的移动APP产品原型设计工具应该具备以下特点: ①.支持移动端演示(随时随地演示给BOSS,厕所&食堂&电梯-以体现我是那么的敬业--长点工资必备) ②.组件库(高效复用,谁用谁知道) ③.可以快速生成全局流程(程序猿看不懂拆解的,给丫的看这个) ④.在线协作(多个PM狗一起用) ⑤.手势操作.转场动画.交互特效-(这些都不需要,留给专业的交互.视觉,搞那么虚的不如多想想产品流程逻辑做做减法.写写xxRD啥的) 以下逐步介绍那些我们势必要折腾的原型工具们: 1. POP(

移动互联网趋势是App还是Web?看看百度和UC的动向吧

中介交易 SEO诊断淘宝客 站长团购 云主机 技术大厅 把这两家放在一起说,无关老掉牙的并购"绯闻",而是因为它们是国内互联网企业中,唯二非常重视移动Web端的玩家--UC浏览器是HTML语言的解析工具,而百度搜索则是链接的重组排序. 因此在App vs. Web仍争论不休的大背景中,这两家公司的态度将很大程度上决定国内移动互联网市场针对这场辩论的站队走向. 但截止目前的结果,可能会让热衷"只能活一个"角斗士逻辑的看客们有些失望,因为这两家公司给出的答案似乎都是:别

《为iPad而设计:打造畅销App》——让iPhone程序适用于iPad

让iPhone程序适用于iPad 为iPad而设计:打造畅销App 前面讨论过了为什么iPad不是放大版的iPhone,以及为什么只是放大iPhone应用的界面在iPad是行不通的.那么,如何才能将现有的iPhone应用改造得适合iPad呢? 应该列出应用的核心功能,然后再次从零开始. 如果只是把iPhone应用改得大一点,再把界面元素重新摆一摆,最终只会搞得一团糟.控件会在错误的地方显示,应用使用起来很低效,完全浪费了iPad更大显示屏幕的优势.如下图所示,iPhone应用放大到iPad上面并

蘑菇街大变脸,7.0版本App已经上线

1月21日消息,在移动电商强势来袭时,各家电商都在顺势力拼移动端的转型,轻巧的垂直电商似乎更容易从中看到机会. 记者从国内最大的女性时尚消费平台蘑菇街了解到,蘑菇街最新的7.0版本App已经上线,与旧版相比可谓一次"大变脸",而这背后是年轻用户群体消费习惯.移动端交易占比.商业模式等各种因素交织的必然选择.       在产品形态上,新版本摒弃了旧版的"频道 图墙"形式的商品展示,取代以"达人 信息流"形式,用户关注的人所发布的商品信息会像微博或