从我的第一部 Android 手机,一加 3 手机开始谈起 篇一:让我们谈谈 Android

2016-10-06 09:11:37     作者:艾斯比      来源:什么值得买

标签: #从我的第一部 Android 手机,一加 3 手机开始谈起# 生活记录 系统软件

一加 3 是我的第一部安卓手机,要说买也买过,但都是给我父母买的。自从当年喜欢上 Mertro UI 之后,...

一加 3 是我的第一部安卓手机,要说买也买过,但都是给我父母买的。自从当年喜欢上 Mertro UI 之后,我自用的手机都是 Lumia. 我知道不少人或多或少都会听说过乃至于使用过 Windows Phone 的手机,当年的「支付婊」事件好像还挺有名的。之前我在用的 Lumia 1520 出现了第二次电池的严重老化,实际容量大为衰减,体现为使用到电量显示为 50% 左右的时候就会自动关机。之前出现这个情况的时候我是自己拆机换电池解决的,一年之后问题复现,看来是电池或者电源管理有问题。顺带提一句,电池的供货商是索尼。。。也提醒大家购买二手且不能换电池的手机时,要注意手机的充电循环次数,设计良好的电池在小几百次循环之后容量也会会有明显的衰减。我的电脑一般都是插电运行,循环只有 350 次左右,实际容量只剩 80% 了。当然,电脑的电池组貌似会比手机衰退得略快一点。我不继续选择 LUMIA 的原因也很简单,这玩意又要改名了,命运未卜,且除了应用比较少之外(次要),整体设计还不成熟(重要),另外我想到外面看看 。

电池损耗

一开始我想要购买 iPhone SE,但是屏幕太小(主要) + 不支持双卡让我放弃了。原生安卓的 Material Design 闻名已久,心向往之。但是亲儿子 Nexus 没有更新 820 的新机,5X 屏幕一般,6P 价格较高,另外频段残疾,FDD 只支持 Band 3. 最后我选择了可以很简单地刷入国际版「氧 OS」的一加 3. 氧 OS 继承了 99% 的原生安卓体验,加上的一些小魔改都还挺好的。另外吐槽一下一加现在搞的氢氧融合,一加作为小公司,团队人力有限可以理解,但是这么一搞两个系统都失去了特色,得罪了两头的人。

启动器

启动器

==================以下内容略显专业,本人表达能力有限,看不懂就跳过吧==================

我们都知道现代操作系统有一个基本的概念叫「进程」,无论是 Windows 还是 *nix 都是如此。简单来说,「进程」就是操作系统内核进行资源分配的一个单位。进程内的软件看起来自己拥有连续的内存,并且不能直接感知到其它进程的存在。而进程内部包含若干线程,线程是调度的最小单位,操作系统将 CPU 时间分成很多时间片,轮流执行线程们。因为时间片非常细小,所以线程们会觉得自己在被连续地执行。

在 Wiindows 上,微软规定一个 UWP 应用只能有一个进程,并且这个进程和应用有比较强的绑定关系,当应用进入后台(即移动端上应用不在屏幕上被显示,或 PC 上应用最小化之后),整个进程会被暂停,只占用内存,而不再占用 CPU 的时间片让代码得到执行。

而安卓应用没有这样的约束,一个应用可以开启很多进程,并且进程和应用没有对应关系。实际上,我们看到的安卓应用的界面只是软件的一个叫做「Activty」的组件,它运行在 UI 线程中,在应用的不同页面之间导航的本质就是切换不同页面的 Activity。说到所谓「伪后台」,Activity 也有类似的机制,当前界面不在屏幕上显示时会被暂停。我们在多任务切换器中杀死的「应用」也就是这货,而不是对应于这个应用的进程。实际上这种行为往往没有什么好处,因为暂停机制的存在,Activity 还是比较规矩的,而且保留之后再次载入时会更快更省电。

但是正如我前面所说,Activity 只是组件一种,一个安卓应用还可以包含 Service(服务)、Receiver(接收器?)、Provider(提供者)等等组件。注意,这些组件与进程和线程没有对应关系,也就是说它们可以分散在不同或相同进程之中的不同或相同线程中。其中,Service(服务)是一种没有界面的组件,可以在后台长时间。假设用户在一边听歌一边浏览网页,此时音乐播放器的 Activity 已经进入停止状态了,所以合适的做法是使用一个后台服务来播放音乐。Service 与调用它的 Activity 没有绑定关系,即使调用它的 Activity 已经结束了,Service 也可以继续运行。实际上一个 Service 完全可能通过进程/线程间通信机制被多个应用调用。只有 Service 自己认为自己经没用了,并调用了一个函数之后,此 Service 才会被终止。或者,用户通过开发者模式中「正在运行的服务」来查看并终止 Service.

但是事情没有这么简单,如果 Service 不想让用户结束,那么你是别想在非 Root 的情况下动他分毫的。上一段提到了一种组件叫 Receiver, 它可以接收系统广播,并且启动一个服务。系统广播包括系统启动、无线网接入变化、电话呼入等等很多事件。所以你手动杀死一个 Service 之后,只要你打个电话或者连上一个 Wi-Fi,那么恭喜你,它可以轻松复活。问题还不至于此,想象一下,百度云完全可以在前台运行的时候帮你唤醒其它百度全家桶的服务,亦或者是百度云和百度贴吧、百度输入法的后台服务可以相互唤醒。

==================科普结束==================

服务的情况

后台进程(即 Active 已停止)会占用一部分内存,可快速恢复

(其实内存占用不是越少越好,6 GB 内存填满了才真正说明发挥了效用。这点 PC 同理。)

Android 的开发者做了一个假设,即开发者都是好的,他们错了。在巨大利益的裹挟下,「不作恶」这个基本底线很多厂商不能坚守。大家可以点 6 次版本号进开发者模式看看 X博、X信、XX婊(宝)等一共开了多少个服务,绝对吓人。

至于各种国产魔改系统带的权限管理以及后台管理是否有效,看各位自己判断了,我不敢下断言。Android 6.0 的权限管理对旧版软件(自己声明为旧版 Android 而开发)是按照清单默认允许的,而不是默认拒绝并在应用请求权限时弹出确认的对话框。并且用户能控制的权限管理范围太小,很多很敏感的高级权限是不能禁止的,譬如「查看当前运行的其它应用和历史应用」的权限。

在这里我非常不推荐使用 Xposed 框架。在安卓还在用 Dalvik 虚拟机的时候这样影响还有限,在某一版本之后的安卓强制使用了 ART 虚拟机,采取了预编译策略。使用 Xposed 框架会整体替换掉 ART 虚拟机,取消一部分的预编译,以方便在运行时魔改软件,这对效能会有一定的影响。还有就是安全性问题,感觉不怎么能令人放心,毕竟 ART 虚拟机太重要了,linux 内核之上各种安卓系统组件和应用运行在里面。

要想放心使用安卓软件,推荐使用冰箱(需要 Root),把国产或者非国产流氓「冻结」起来。其实就是让应用进入到停用状态,也就是类似于未安装的状态,再也不能兴风作浪了。还可以配合绿色守护强制结束一些应用的后台。

本人 Root 了之后觉得意思不大,加上有洁癖,所以又退回了未 Root 的状态。解决流氓软件的方法就是不得不用的时候捏着鼻子装上,用完删除,随用随装。这些软件就像是一个恶棍,举止粗俗不堪(界面丑),但是有一定不可取代的能力(被绑架没办法所以还是要用),你说我是把他利用完之后就投入监狱,还是在有漏洞的法律面前打上若干个修正案然后放心地留着这个恶棍过年?另外,如果这种服务有比较完善的网页版就不要安装应用(顺便夸一下,Android 版 Chrome 真 ™ 好用,简洁、手势支持也算可以,我完美地把我在 PC 上浏览器开几十个 tabs 的好习惯带到了手机上)。QQ 和微信这类软件我用老机子来挂,新机子没装。如果你也有洁癖,可以学我 。不过我估计不会有人这么多事吧?

经过调♂教,我的一加 3 一晚上不开飞行模式掉电在 5% 左右。 其实国际系统带 Google Play 服务的话会有一点影响,这玩意被墙了,会一直尝试联网。而我常用的 Gmail 邮箱、日历(通过 Exchange ActiveSync 协议同步我 Outlook 邮箱的联系人、邮件和日历)以及其它 Google 地图之类的全家桶又依赖这个服务,所以不能停用。比较好的解决方法要 Root,或者是 24 小时 SS,都比较麻烦。

下一章看心情写吧,咱们下回分解。(本人比较懒 )

返回沙发首页  
沙发管家微信
扫描关注沙发管家微信 QQ群: 沙发网官方群 微博:

资讯评论

亲,你需要登录后才能进行评论喔!

还没有评论,快来抢沙发吧!

提示

相关文章推荐

热门设备安装方法 查看更多>>

最新设备

智能电视 / 盒子评测

安装指南

应用

热门专题