产品研究:安装程序 或 移动端APP 为什么这么占用空间?
一群產(chǎn)品經(jīng)理討論應(yīng)用為何這么占內(nèi)容,PMcaff產(chǎn)品經(jīng)理社區(qū)潛伏的一大批技術(shù)能人給出了很好的答案。該問題的貢獻者:原獵豹產(chǎn)品總監(jiān) 胡國中,Google 資深RD 春哥,百度瀏覽器 資深RD 楊坤
有些硬盤比較小的用戶或者是蘋果手機容量比較小的的用戶可能經(jīng)常抱怨app或者安裝的應(yīng)用程序太大導(dǎo)致設(shè)備空間不夠用。特別是微軟Outlook為何要1G安裝包,而foxmai只要60M,為何同樣的競品APP有的點160M手機空間,有的只占5M?下面為大家簡單解釋一下為什么有些app或者應(yīng)用程序總是那么大。
1. 歷史原因
為了兼容老版本或者一些舊有的用戶習慣,可能會有一些舊的特性包含在里面,但是有的時候可能項目開發(fā)周期短,程序員哥哥是不會去動舊有的東西的,因為一旦牽涉到修改代碼,成本是很高的;隨便去掉一個功能點,需要考慮整個業(yè)務(wù)流程邏輯是否通順完整,改完以后還需要QA再進行回歸測試,就好像是從一整棟完整的大廈里面抽掉一塊磚,一不小心就有瞬間崩塌的危險。
2. 為了適應(yīng)不同的用戶群體
比如像office光安裝包就1G多,安裝完成之后發(fā)現(xiàn)各種組件都已經(jīng)給你裝過了,包括什么ppt啊,visio啊各種亂七八糟的組件,excel里面甚至還包含了vbscript這類開發(fā)者用到的組件;正常人類只希望用一個文檔或者excel的功能,office就會給你安裝了這么一大堆東西。
3. 追求炫酷
有些app為了追求狂拽酷炫屌炸天的界面效果會使用一些精度比較高的資源(圖片、音頻、視頻),讓你看起來好像覺得很牛X的樣子,但是這些資源圖片占用了整個app容量的大頭,其實二進制文件編譯出來之后,把符號文件去掉,二進制的執(zhí)行文件本身就是非常小的。
4. 第三方庫
有些開發(fā)者為了圖省事,會直接使用一些開源框架,比如做游戲需要用cocos2d, unity3d等,應(yīng)用程序可能會用到reactjs等,這樣子的好處是直接一套代碼跨平臺,節(jié)省了開發(fā)時間,提升了開發(fā)效率,但是這些第三方庫本身是非常大的,因為第三方庫它不知道你要用哪些功能,干脆把所有的東西一股腦都給你。
5. 用戶數(shù)據(jù)
當用戶使用這些app(應(yīng)用程序)的時候會產(chǎn)生很多使用痕跡的,有些app(應(yīng)用程序)就索性直接用完之后扔在某個地方不管了,比如說產(chǎn)生一些日志文件或者一些臨時性的配置文件或者是一些數(shù)據(jù)記錄,就跟隨地扔垃圾的人一樣討厭,毫無節(jié)操可言。
看完上述種種,作為一個PM/RD肯定會有各種理由:我項目周期緊張啊、我的程序員哥哥不甩我啊、占用空間大小的事情只要不影響功能就行了啊、、、等,但是。。。這些都不能成為合理非法大量占用用戶使用空間的理由,如何讓自己的app更加輕快,更加好用,這才是作為一個有情懷的互聯(lián)網(wǎng)人所需要追求的,而且是需要PM和RD共同努力的,下面給出我自己針對上述問題的一些建議:
1. 解耦你的程序:現(xiàn)在大家都是用的面向?qū)ο笳Z言,如果你的程序的類不能拆分成一個最簡單的功能,或者類依賴過多的類,肯定是很有問題的,需要程序員哥哥在寫代碼之前就要考慮清楚該如何做擴展,如何寫基礎(chǔ)模塊,如何寫業(yè)務(wù)模塊,哪些功能做成一個單獨的模塊,模塊里面每個類負責最小化什么樣的解耦功能;最好把工具類拆分出來,工具類有可能又分為業(yè)務(wù)型工具類和通用型工具類,說不定可以用到以后的項目中。
類似Chrome的插件模型永遠是客戶端程序最經(jīng)典的架構(gòu)。推薦沒事多看看《設(shè)計模式》,盡管你可能覺得過時了,不管時代怎么變化,有些基礎(chǔ)的思想永遠不會變。
2. 動態(tài)的加載所需要的庫:如果做到了上一點,第二點就很好解決了,因為所有的模塊都是熱插拔模式的,可以根據(jù)用戶的需要把一些不需要的功能模塊刪掉,保持占用空間最小化。
3. 盡量多用繪制庫:現(xiàn)在的繪制庫都是很牛X的了,各種算法都給你寫好了,而且優(yōu)化的非常好,只要運用得好,就不要去用一些圖片去解決問題,經(jīng)常用圖片解決問題的程序員是很懶的,懶得去了解繪制庫的用法,只要稍微多了解一下你的繪制庫,基本上秒殺各種特效了。
4. 削減第三方庫: 很多第三方庫都包含了很多用不到的功能,把這些功能都去掉吧,這些東西哪天要用到再加上也是可以的,如果你不會削減證明你根本不了解你的生產(chǎn)環(huán)境,這樣子是很可怕的;趕緊動起來,去了解你的底層。
5. 盡量把一些重要的用戶數(shù)據(jù)自動上傳到云端:比如一些最近的聊天記錄,聊天記錄中一些圖片文件等最好也要存成ID號上傳到業(yè)務(wù)服務(wù)器,圖片另外用圖床存都是可以的。還有一些用戶的使用偏好配置等信息也要保存到云端,本地可以留少許的數(shù)據(jù);我有一個朋友前兩天發(fā)朋友圈說自己某信所有聊天信息都沒有了(是個美女),不知道是咋回事,結(jié)果各種倒騰了一天終于搞好,但是損失的時間成本和溝通成本是無法估量的,由此可見像這種極端異常情況如果處理好了,帶來的價值遠遠是高于做這些優(yōu)化所付出的成本的。
最后建議一點,PM在日常開發(fā)過程中也需要把這些細節(jié)作為整個項目的一個需求去認真的落地,因為只有像這樣才能夠打磨出真正的精品。
注意:本文為PMcaff產(chǎn)品經(jīng)理社區(qū)原創(chuàng),轉(zhuǎn)載請標明出處
更多推薦
回復(fù)“61”——馬化騰內(nèi)部分享:三個問題說透如何做產(chǎn)品
回復(fù)“62”——鳥哥筆記VS知乎劉錘:一個運營牛人的進化論
回復(fù)“63”——前蘋果副總裁:20-40-60法則
回復(fù)“64”——鵝廠頂級產(chǎn)品課程:產(chǎn)品細節(jié)中的情感化設(shè)計
回復(fù)“65”——如何用互聯(lián)網(wǎng)思維賣辣條
回復(fù)“66”——馬化騰親身分享:騰訊兵法教你做一款高口碑的產(chǎn)品
回復(fù)“67”——去哪兒產(chǎn)品總監(jiān):先解構(gòu),再設(shè)計,把握產(chǎn)品經(jīng)理的核心競爭力
回復(fù)“68”——一份優(yōu)秀的競品分析報告的撰寫方法
回復(fù)“69”——阿里收購驚人內(nèi)幕,支付寶出大招顛覆式創(chuàng)新-人人都是ATM
回復(fù)“70”——你的微信朋友圈讓你焦慮了嗎?
原創(chuàng)或推薦文章請發(fā)送至郵箱:xiaoxi@pmcaff.com
PMcaff合作媒體:Chinaz
與50位技術(shù)專家面對面20年技術(shù)見證,附贈技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的产品研究:安装程序 或 移动端APP 为什么这么占用空间?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 圈子 | 苏宁易购产品经理:平台支撑型产
- 下一篇: 推荐干货 | 我在阿里做运营:八一八运营