黑一下Android的残废内存管理

是时候也该发个文批判一下了,在隔壁友坛发表这样的言论,反而被质疑不懂 Android,也省得没人看到老被喷我脑残黑苹果,事实上不管哪家只要有做得不好的就该黑,苹果如果做得好了我干嘛要黑?CCAV 黑苹果的时候我不还追着 CCAV 骂说逼良为娼么……

Android 有个跟 Windows 差不多的毛病就是内存越用越少,开个十天半个月的 Windows 就算关掉所有程序,内存占用也会比刚开机的多很多,Android 也是这个理——

这是刚开机一天多的,如果真是刚开机就进来看,这里应该可以剩二三百兆。
171433x8z0m5to5qo8hoaa

用了十天半个月后就这样了。程序还是那么多,可用内存却是那么少。
225552nf3zli979gqxgc7g

我对电量很敏感,所以每次看到即便在 WiFi 状态下都耗电迅速、点开电量统计发现 Android 系统占很多的时候就知道内存被榨干了,必须重启。Android 引以为傲的事件触发内存机制在这个时候就是累赘,因为剩余内存不足,一个程序开了以后不久就被 kill 掉,再开一个再 kill 一个,如此往复。一些占据后台的垃圾国产软件(如廉通网上营业厅)反而 kill 不掉,徒伤悲。

某种程度上,Windows 要好得多,首先 Windows 的内存就够大,其次还有虚拟内存,再次是最关键的一点,Windows 需要什么服务就直接在后台挂着,不会有触发事件。当然我承认,我东西开得也是比较多,这破机器内存也比较少(可用 600 多,和很多 768MB 的机器应该一个档次了吧),现在起码比当年用墓碑 256MB 连微信都经常被 kill 掉要好多了。

总之,Android 的残废内存管理一天不改进就黑一天,这几乎已经是我仍然要定期重启机器的唯一理由了。

这些转着圈子折腾的移动浏览器

前一阵还夸奖过Firefox for Android是唯一可以正确显示移动页面的Android手机浏览器,结果在这段时间,Chrome和Firefox各自升过版本,Opera砍掉重练推出Webkit的白底红字图标新beta版,真是没想到现在反而是这样一个结果……

Chrome Firefox Opera
七周前 × ×
现在 ×

为了佐证,我又截图了。软件都是当下在Google Play的最新版。

Chrome 26.0.1410.58
Screenshot_2013-04-04-09-19-29

Opera beta 14.0.1074.54070
Screenshot_2013-04-04-09-20-21

Firefox 20.0
Screenshot_2013-04-04-09-22-04

乍看一下这些页面显示得差不多效果,但是为了表示Firefox不是一个100%的完整页面,我特意摸出了滚动条在页面下方。
好吧,首页字不够多,我们进一个子论坛。

Chrome & Opera
Screenshot_2013-04-04-09-24-19

Firefox
Screenshot_2013-04-04-09-23-43

很明显,我们可以看到Firefox没有在画面内换行。
于是现在又要弃Firefox而去了,今日推荐是Chrome和Opera(Webkit版)。让我不太明白的是,为什么他们在转着圈子折腾呢?会不会再过一两个月又回到原点了?不过起码在现时段,Android上两个Webkit架构的浏览器是最接近移动页面在iOS上的标准显示效果的,比之前的Firefox效果还要好。

改变世界的 Eye-Fi

我好像很久没有这种被一个东西改变生活的感觉了。上一个是什么?来福板?

我已经不记得是怎么看到这个东西的,总之我知道了 Eye-Fi 是什么之后就去研究了一下,然后我买了一片,现在我认为这是 SD 卡自出现以来最伟大的发明。我必须要说,太好用啦!

很简单,这是一张无线 SD 卡。
DSC01895

首先必须澄清一点,大家去淘宝搜 Eye-Fi 卡的时候,会出现很多其他的产品,比如叫“易享派”的 ez Share ,比如东芝的无线 SD 卡,所有标题上都写着“超 Eye-Fi ”。这时候只有一句话可以表达我的感受了:
放你们妈的屁。

Eye-Fi 和其他无线 SD 卡的区别是,Eye-Fi 可以作为一个无线客户端(当然也可以作为一个无线热点),而其他无线 SD 卡产品只能作为一个无线热点。
这意味着你用 Eye-Fi 的时候可以让插好 SD 卡的相机和自己的手机平板处在同一个畅通的无线网络之下,而那些仅仅具备 AP 功能的无线 SD 卡产品必须让你的手机连接到它所创建的热点去,然后你的手机网络就断了,因为那些仅仅具备 AP 功能的无线 SD 卡产品根本通不了网络么。
即便你不在意网络问题,原版 Eye-Fi 广泛的软件支持可以简单发送照片到手机平板,而山寨品们只能用其他设备登陆 Web 界面去操作,高下立判。
再配合 PC 端的软件,你使用 Eye-Fi 在自己家里拍照的时候,每拍出一张照片之后仅需等待 10 秒,这张照片就会出现在你电脑里指定的文件夹下,而不用一次次地拔插数据线这么麻烦。这相当于什么呢?我觉得这种革命性可以和笔记本电脑不用再插紧网线,而是拿到哪里都有 Wi-Fi 网络相提并论。

本来每拍出一两张照片,我都要用 USB 线或者读卡器将 SD 卡连接到电脑,再打开 Adebis Photo Sorter 这个软件将照片拷贝到我指定命名规则的目录下。如果看大图以后觉得拍得不好,又要拔下来重新拍摄。
图像 002

现在有了 Eye-Fi ,一样可以将我新拍摄的照片传输到我指定命名规则的目录下,而且一是无线,二是全自动。如果看看需要返工,只要再举起相机就行啦。
图像 004

Pro 版特有记录地理信息功能,再配合移动 Wi-Fi 热点,立马升级国行相机支持 GPS 。
图像 005

现在在售的 Eye-Fi 主要有以下三个规格:
4GB ,Class 6 ,不支持传输 RAW ,不支持记录地理信息
8GB Pro ,Class 6 ,支持传输 RAW ,支持记录地理信息
16GB Pro ,Class 10 ,支持传输 RAW ,支持记录地理信息

记录地理信息和传输RAW的功能都可以付费升级,但是价格还不如一开始直接买更高阶的卡。我刚好是凑巧买到一张洋垃圾,花 4G 的价格买到 8G Pro ,满足了。

写了这么一串不收钱的软文,有一点要补充的是,这是我第一次尝试在阿拉伯数字和字母前后空一格,会不会看着比较舒服?

推荐一下AVPlayer的FTP流媒体播放功能

换成一两年前的我,是万万想不到自己会乐意用平板在床上看高清的。事实上,像Retina iPad这样的屏幕色彩素质加上高像素密度,在对环绕声要求不高的时候,还真是一个不错的选择,可以有效利用碎片时间。

那么接下来要解决的事情就是容量。现在需要用到的就是类似SAMBA播放或者DLNA这样的功能,可惜在以前,有这种功能的软件(如AcePlayer)播放能力差,播放能力好的软件(AVPlayer)没这种功能。这样的状况在AVPlayer推出FTP流媒体播放功能后迎刃而解,现在经过了几版的纠结(我还报告过bug)之后,状况终于比较稳定了,虽然对字幕的支持还有点RP,但起码可以比较好地完成本地网络播放的工作。
我们知道,MP4格式可以直接DLNA,但是MKV就不行了,即便拷贝到本地也有MKV硬解支持的问题,而AVPlayer是唯一在iOS上支持MKV硬解的软件。

我现在的做法是用NAS开FTP服务,然后AVPlayer用FTP Client直接连接过去单击播放,就算不是1080P或者720P,哪怕是人人压制的1024×576的日剧,效果也意外地不错。

IMG_0062

IMG_0063

IMG_0064

缺点就是打开很大的文件要loading一会。
另外由于硬件限制,声音只从一边出来,略不爽,最好还是使用耳机。

测试:2.4G和5G在移动设备上的传输速度

最近用AVPlayer在来福板上直接播放NAS上的视频比较多,于是想测试一下在这样的移动设备上WIFI传输速度究竟能够达到多快,能承受得住什么样的码流。正好现在传输速度65Mbps的iPad 3(现在还会有人一定想叫The New iPad了吗)和150Mbps的iPod Touch 5都有,可以比较一下。

测试方式:用AVPlayer的FTP Client功能从NAS上直接拖文件,计算平均速度。
IMG_0106

测试结果:

2.4GHz 5GHz
iPad 3 (65Mbps) 约3MB/s 约5MB/s
iPod Touch 5 (150Mbps) 约3.3MB/s 约8MB/s

话说我发现一个问题,iPod Touch 5只有在5GHz下面才能达到150Mbps,在2.4GHz下只有72Mbps封顶,难怪速度上不去。
另外我尝试在两堵墙、直线距离8米外的厕所测试来福板的5G传输,依然有4MB/s左右的性能,横竖好过2.4G。

说明5G还是挺有用的,今天收了一台E4200 V1以后给新家用,还是一定放在房子的中心位置吧,为了5G。

NAS change your life

昨天写博文的时候才发现,我好像还没说过自己买了一台NAS呢……

买了都一年了,Iomega Home Media Network Hard Drive Cloud Edition。
er_photo_143194_52

买的时候是一个光盒子不带硬盘,只售299(现在淘宝也还是有这个卖)。
当时是洪水后硬盘最贵的时节,于是有了一段惨痛的经历:从公园里捡了一块日立硬盘先用着,用着正舒服的时候被失主找到要走了,又从食堂里捡了一块希捷ST2000DM001,换硬盘的时候还把整块NAS的电路板连前面板带日立硬盘一起摔到地上了,外壳轻微裂缝,内部支架略变形,装好希捷以后NAS的硬盘灯常亮,但是其他功能正常,我就当摔坏了吧,不过这个希捷动不动给我嘎吱一声,我就这样忍了大半年,直到最近2TB到六七百的时候把自己台式机上补了一块2TB绿盘,再把BT机的2TB日立酷冰腾空出来塞了NAS,硬盘灯立刻恢复正常。
于是我要说,海门一生黑。

nas001

细节我不想说太多了,玩家研究的基于Linux的更换硬盘方法不算太麻烦,性能还可以,读写大概是40/30这样,不过软件略弱,连定时开关机这样的功能都没有的,我现在主要拿来备份和DLNA用。虽然拿BT机24小时开机也可以用,但是我从心底却不喜欢如此不环保的用法,况且的确是24小时开BT机一年多就会把这300块当电费花掉的。

nas002

不得不说,NAS真的是可以改变生活方式的东西。当然,如果你觉得台式机24小时开机也OK的话,下面的废话可以不用看了。

以前不管做什么事情,数据存储都是以台式机为中心的。现在把重要数据也有备份在NAS上,增加安全性的同时也可以在其他端末上访问:周末赖在床上随便用平板电脑调用自己完整的歌曲库成为可能,在外面想要查找这些数据也仅仅受到512kbps上传速度的限制而已。即便仅仅用来备份,也省却了到处乱接硬盘的麻烦,只要设好scheduled task,任何时候都可以在后台静默完成,包括通过WiFi直接备份手机上的数据(参见上一篇日志)。作为一个比硬盘盒贵不了多少的东西来说,我觉得很值。
等新家弄好以后我想买台群晖,售价可能贵了一点,但我想看看业内顶级的NAS软件可以帮我实现哪些以往没想过的功能,接下来就方便我找准NAS在家庭里的定位了。

用FolderSync进行方便的Android设备备份

我们知道iOS设备可以在PC上通过iTunes做完整的设备备份,可以随时还原系统,但是系统里的音乐和图片不包括在iTunes备份内。
还好现在有iCloud,我们可以把图片备份到云端,也算解决问题。
IMG_0103

Android没有客户端软件,备份的方法有很多,比如Recovery、钛备份等等,系统自己也会把基础系统设置备份到Google账户,但是同样不包括照片在内的SD卡内容。其实相比之下我反而不关心软件设置之类的内容,如果万一手机丢了或者变砖,照片全部丢失才是我不能接受的结果。
其实Google+可以自动上传照片到Google+的相册,不过有两个问题,一是这个服务三天两头被墙,二是它的作用仅仅是上传而非同步,如果几天以后我从手机里删掉一些照片的话,这些我不想要的照片会一直留在Google+相册,以后整理起来也是个麻烦事情。或者用其他的云软件?我试过金山快盘,但是这软件实在太啰唆了,同步进行频率非常高,顶端任务栏图标动不动冒出来;Skydrive和Google Drive也不是省油的灯,同步模式设定很少,功能太弱,外加后者也是一个不让人放心的服务。

而且这么说吧,不用上传到云也行,我们可以有本地备份吗,比如……NAS?这样速度还快一点,不用受中国电信512kbps上传速度的气。
于是我找到了FolderSync这个软件。

FolderSync分免费版和收费版,免费版对使用的备份服务数量、高级计划任务等功能有限制,我觉得如果你不像我这样对主界面上位置奇葩的广告条抱有很深的成见的话,用免费版就行了。

这东西支持的服务实在是够齐全,第三方云服务、本地SAMBA/FTP等等一应俱全。每个服务需要单独设定一个帐号,免费版只允许设置两个帐号
Screenshot_2013-02-23-00-09-39

我设置了一个到本地NAS上指定SAMBA文件夹的帐号叫Phone backup,接下来就可以设置同步任务。
Screenshot_2013-02-16-18-32-33

可以设置同步间隔时间,我觉得每天备份一次已经足够了,更高的频率完全没有必要。
Screenshot_2013-02-16-18-32-39

几个令人赞赏的功能:
可以指定使用何种网络进行同步任务,详细到无线的SSID,这样我可以限定手机在自己家的时候才执行本地备份任务,以免报错;
任务栏通知可以随意指定,不需要它跳出来的时候可以让软件静默运行
仅仅在充电时同步,避免消耗过多电量
Screenshot_2013-02-16-18-32-56

这样的效果就是每天在家充电的时候,指定内容就自动在后台备份好了。如果没有NAS,备份到Skydrive等第三方云服务提供商也是一样的,这样就相当于自己给手机指定了一个Cloud备份,灵活性完全压倒iOS。

点此链接下载完整版的FolderSync(2.95美元)
点此链接下载免费版的FolderSync

夸奖一下Firefox for Android

昨天手机版的Firefox for Android(目前手机上也没有别的Firefox了吧?)更新,升到19.0,界面原生支持简体中文。我虽然英文每个词都看得懂,但是软件界面没有中文就不舒服,有了原生简体中文支持还是感到挺欣慰的。

我以前提到过Android版Chrome会把移动页面自动放大的问题,后来发现当时的测试结果不准,正好那篇文的贴图也有错误,那么就在这里重申一下:
Android的原生浏览器、Chrome和Opera在访问部分移动版网站时都有自动放大页面的毛病,双击后页面缩放回完整大小。

下面贴两张图来解释一下,需要说明的是Chrome截图字体较大,因为我设了110%字体大小。

Chrome:
chiphell_chrome

Opera:
chiphell_opera

而只有Firefox的缩放是真正正常的!只有!
chiphell_firefox

给出iOS版Chrome作为对比,iOS所有浏览器都是一样的内核,因此不会有页面效果的不同,而且缩放绝对是完美的。其实可以看到,在DPI接近的情况下,iOS的字号还要大一些,更适合阅读,但是字体本身反而不如Android好看,发虚。
chiphell_ios

再来看看淘宝,也是一个老大难。

Chrome,这很明显看出页面没有100%缩放,都歪了。
taobao_chrome

Opera,一样。
taobao_opera

Firefox,完美。
taobao_firefox

作对比的iOS,其实这个才是最完美的,Android版就算调到正常缩放也显得页面过大,留出过多空白,但是字体却不敢恭维。
taobao_ios

这到底算网页的问题还是浏览器的问题,我不知道,但是起码Android版Chrome浏览很多其他移动版网页是完全正常的,比如wordpress based网站。和Firefox比起来,Chrome的字体无级调节和主要内容自动放大非常好用,启动速度也很快,我暂时还是会拿Chrome当默认浏览器,不过访问那些国内移动版网站的任务就会交给Firefox啦。