“体型并不能说明一切”?

最近在思考应用程序大小&占用磁盘空间的问题,

比如我的手机, 这一个月几乎天天提醒”空间已满”blablabla~

现在把QQ等的记录都清空, 相册只剩几张照片, 连虾米的缓存音乐也删掉部分.

打开”用量”:

我们稍微算一算, 如果一个程序占用空间500M, 那么实际使用空间11G左右的iPhone(16G版), 就只能装22个应用.
如果一个应用300M, 这个数字就是约37个.

那在天朝我不得不用的应用有哪些呢?

微信(345M), QQ(244M), 微博(157M),
淘宝(249M), 支付宝钱包(152M), 淘宝电影(38M), 口碑外卖(42M), 阿里巴巴(109M), 旺信(89M),
美团(94M), 猫眼电影(48M), 京东(89M), Amazon(76M), 当当(47M),
高铁管家(46M),
手机营业厅(37M),
百度地图(361M), 百度云(314M, 备份了照片, 这样还稍微减了减手机空间的压力)
虾米音乐(477M),
Argus(279M 记录步数心跳等等), Nike Running(124M),
Twitter(120M), Facebook(134M), Instagram(37M), LinkedIn(102M), Skype(96M), Pinterest(70M), Pocket(61M), 有的是自己用, 有的是开发必须, 为了测试非装不可.
iTV Shows(43M 追剧必用, 不缺不漏剧集),
Paypal(73M),
快的叫车(52M), 滴滴打车(69M), 一号专车(51M), 打个车非要搞这么多应用, 真的很烦…已合并资源缺不合并应用.
掌上银行(56M, 招行一天到晚啥都要你在App里操作…), 招商银行(50M),
Adobe Acrobat(45M, 邮件里的PDF文件, 比如面试时, 有时要偷偷喵一眼简历嘛)
…抄不下去了, 太坑太累!

个人觉得, 应用程序还是尽量限制在50M比较好, 用户的手机用户不能做主啊( ⊙ o ⊙ )!这并不是不能实现的.

那我们在项目里, 通常是什么在占用空间呢?

一朵普通的应用程序, 编译出来, 都在10M左右(还是很多很多功能的)

但是如果想有微信登录, 不好意思, 要加入WeChatSDK;
如果想有QQ登录, 不好意思, 要加入QQConnectSDK;
如果想有微博登录, 不好意思, 要加入WeiboSDK;
想分享信息到朋友圈? 加WeChatSDK;
想分享到微博? 加WeiboSDK;
想用支付宝钱包支付? 加AlipaySDK;

还有很多用户不知道的需求,
比如转化率调查, 各种SDK, Flurry等等,
还有错误跟踪, NewRelic等等,
还有很多人/公司喜欢将推送通知也加一层, 诸如Parse, 百度云推腾讯信鸽等等, 继续加!
一堆东西加下来, 程序要肥几圈…

在然后就是图片资源了, 如果适配做的不好, 直接拿几套大图的话…很容易看到程序体积成倍疯涨.
当你等待这次commit缓慢的向远端push时, 就应该坐下来认真思考这样做的必要性了.

“这么多这么大的图片, 真的有必要吗?”

就如同App本身的splash screen, 最早只是图片,
所以当iPhone进化到4代, 出现@2x时, 就需要两张图, 而后面这张, 将会拥有4倍与前者的像素.
再还有iPad与retina iPad, 在到现在的iPhone 6与6 Plus,
苹果也给出新的正确解决方案, 使用可以附上autolayout功能的 Launch视图, 来取代多张大图做到适配.

这么多大的图, 多半是没有必要的.

另外, 自定义字体, 如果使用次数十分有限, 完全可以替换成图片.
纯色/渐变的视图, 亦可以代码实现, 而不需要图片.

当用户手机临近装满时, “大裁员”即将开始.
如果无法做到让用户”非装不可”, 那么体积大的程序, 就等着– (嘿嘿)
(苹果的容量提示, 会导向用户到”用量”列表, 这里按照占用空间由大到小排着序, 所以嘛…)

精简而高效, 始终应该是我们程序开发应有的目标.

Raspberry Pi II

在taobao上, 买了只树莓派2(Raspberry Pi II), 经过一两天漫长的等待, 终于盼来了拆箱.

raspi-001-20150527-1001

业余拆箱, 看看就好.

raspi-002-20150527-1001

然后这里才算开始, 毕竟这里的硬件是平台.

那么通电.

Raspberry Pi II

大致是好的…吧! (感觉现在的工艺, 电子产品不容易坏…吧 (没有什么可以很笃定…bug永远存在))

raspi-005-20150527-1001

烧写系统, 用事先准备好的TF卡(dd官方Raspbian.img到卡上)

dd bs=1m if=path_of_your_image.img of=/dev/diskn

raspi-006-20150527-1001

借来键盘, 还有鼠标, 都得是有线的.

raspi-007-20150527-1001

盲按几下回车, 第一项应该是 Expand filesystem来着

过一会儿, 估计它处理好(class 10卡, 其实比较快), 关机

那么再次接入Mac里处理它的文件

光是在Disk Utility里看到那个Linux分区已经占满整张卡, 就可以得知 文件系统 已扩展开

raspi-101-20150527-1001

EDUP免驱的迷你USB无线网卡

raspi-008-20150527-1001

把磁盘插入一个可读写它的系统(比如Linux)里, 配置一下网络连接, 配置好了以后, 放回机器开机

raspi-009-20150527-1001

这个过程中, 可以顺便把LCD的驱动放进去

raspi-011-20150527-1001

输出到小显示器

raspi-102-20150527-1001

这就可以上网了

raspi-010-20150527-1001

去瞧瞧Raspbian官网

看Logo区, 原来这货基于Debian系统

raspi-012-20150527-1001

现在可以ssh到派里(pi:raspberry), 做操作了

随时可以sudo raspi-config呼出配置, 可以在这修改默认密码等

raspi-013-20150527-1001

那么检查/安装/配置一些各种现在必需的工具

在这里编写一下当下这篇文章, 提交并推出去.

浏览一下, 好了, 致此, 小电脑已经可以用起来了. 以后要用它多多创造呢~

那么已经有电脑了, 为什么还要再买一台就为了写这种其他电脑上已经可以写的程序???

好吧, 就败了这个为环境做贡献好吗, 瞧瞧小身板的功耗 🙂

其实小电脑身后还是有一个”宏伟”的计划的(连我自己都不信)