查看原文
其他

Android 往事 —— 暗夜的搏杀

JsonChao 2023-02-09

Editor's Note

一些关于 Android 的往事,推荐阅读~

The following article is from 群英传 Author 冯森林

这是 JsonChao 的第 311 期分享


序言

    在很久很久以前,一个遥远的银河系……

    这里绝大多数的行星都已在银河共和国的版图中存在了数千年。但长久的平静之下早已潜藏着一股不平静的暗流,分离运动开始在银河系的边缘地带形成一股独立的力量,其主要的阵地是一颗被称为『祈艾那』的巨大行星。很多年前,共和国曾经在这里遭遇了一次重大的外交挫折,不得不折戟退出,留下了巨大的势力真空,贸易联盟和分离势力当然不会错过这个绝佳的的空间。

    Android是旧共和国时期在整个星系中非常流行的一种智能机器的软件系统,它被设计为易于部署到各种不同类型的智能机器,尤其是人型机器之中。虽然Android主要由直接隶属于共和国的研究机构所开发,但它的代码是完全开放的,因此在祈艾那星上也同样流行。活跃在这里的贸易联盟和分离势力都把它加以改造为自己所用,所以在祈艾那星的智能机器市场上存在着大量运行着不同改造版本Android的机器。共和国的Android研发主导机构虽然维持着表面上的统一系统,但这种依靠共和国影响力建立的约束在祈艾那星上早已名存实亡。

    这里充满着不确定性所带来的机遇和挑战,繁荣的黑市孕育出勃勃的生机,是亡命之徒、冒险者和黑客的天堂。

The Phantom Menace —— 撕裂的市场

    位于银河系边缘地带的祈艾那星有着非常巨大的人口,他们中的大部分人还是在近些年才第一次接触智能机器,因此充满着对其功能与魅力的好奇和向往。贸易联盟的敏锐嗅觉显然早已捕捉到了这里巨大的商机,大量在共和国范围流行的搭载Android系统的智能机器被加以简单改造就快速地投放到这一市场中。

    同一时期与贸易联盟争夺市场的还有祈艾那星上土生土长的分离势力,他们的成分相对复杂。一部分是从早期单纯从事Android改造的爱好者组织转型为机器生产商,一部分是本土的传统机器制造商开始进军智能机器,还有一些产业巨头试图把Android嫁接在自有软件系统上打造成一个新的系统兜售给机器生产商。

    不同于共和国广阔疆域中波澜不惊的宏大市场,祈艾那星的市场竞争异常的激烈,甚至可以用惨烈来形容。一方面受益于这里缺失的监管,黑市中遍布着野蛮生长的冲动;另一方面,由于祁艾那星社会整体的收入普遍不高,大部分顾客拿不出太多钱来购买智能机器,所以利润微薄的千元机一度非常热销。

    为了在这种野蛮生长的环境中生存下来并占据一席之地,市场里形形色色的玩家都练就了一身独到的本领。

Attack of the Clones —— 破碎的生态

    『阿奇贝·天行者』是生活在这个星球底层无数对生活充满激情的少年之一,但像他这样在改造机器方面天资卓绝的并不多。前几年混迹在『觅悠』改装市场的时光是最令他兴奋和难忘的,通过把智能机器中预装的Android系统略加改造,这些在市场中可以低价买到的智能机器,性能就能得到不小的提升,还能多出一些实用的小功能。这种改装的魅力,总能带给市场里淘货的玩家一些意外的惊喜,阿奇贝也因此在整个觅悠改装市场中小有名气。

    去年随着贸易联盟倾销态势的加剧,类似觅悠这样大大小小的改装市场也面临着逐渐被边缘化的危机。觅悠不久后便被当地一个颇有来头的机器组装店老板收编了,阿奇贝不忍放弃自己心爱的改装车间,只好转而为组装店的雷大老板干活。虽说有些不情愿,但他也听说雷大老板当年在祈艾那星上也是叱咤风云的一号人物,曾与另一位隐退多年的传奇人物联手打造了他的父辈无人不晓的一件神器。

    这一天中午,组装店的伙计刚吃过饭,围坐在一起把玩一部雷大老板刚买来的新机器,据说正是被坊间热议的那款自诩有着工匠情怀的智能机器。

    『切,情怀能顶个屁用!自以为凭着什么工匠精神就能打造出好用的智能机器,那是根本不懂我们这一行的游戏规则,一个门外汉的天真幻想!』雷大老板抽了一口水烟,突然咳嗽起来。伙计们都侧目过来,每天的这个时候,大活儿最期待的就是雷大老板的布道。

    过了好半天雷大老板才从咳嗽中缓过来,接着说『共和国开发这种源码开放的Android系统,你们当真以为是造福社会?知道吗,共和国研究院背后最大的金主其实就是贸易联盟的幕后老板,明着推广开源系统,暗地里还有一个利益错综复杂的「开放机器联盟」。你看,多好听的名字,就跟贸易联盟一样伟大~ 嘿嘿,不作恶?天知道那里面都有什么肮脏的勾当!』雷大老板冷笑道。

    他突然又叹了口气,继续说道,『Android这个开源系统看似完整,但真要在智能机器中顺畅工作,其实闭源的部件才是关键。共和国研究院那些老狐狸!』雷大老板的目光柔和了很多,透出了些许欣慰,『你们也知道,「开放机器联盟」没机会在祈艾那星这地方立足,才给了我们对抗贸易联盟的生存空间。也亏的你们都是最早一批做改装出来的,我们才得以自力更生填补了那些闭源部件留下的空白,让这些智能机器运转时看起来还算靠谱。』

    说到这里,雷大老板的目光突然变得有些黯淡,『在艰难的时候,其实我们也挺羡慕贸易联盟,只要遵守「开放机器联盟」的秘密盟约,捆绑预置那套共和国研发的闭源部件,可省心太多了。唉,我们这组装店搞出来的那些小部件,跟共和国下的这盘棋比起来那是小巫见大巫。』

    说到这里,他话锋一转,『哼,但那个从前只会讲点段子的胖子,连这些都不懂,就想做出什么「东半星最好的智能机器」…… 过两年还能活下来的话就已经是奇迹了。』说罢,又开始满足地继续抽他的水烟,眯起了双眼。

Revenge of the Sith —— 夹缝中的推送

    阿奇贝搞不懂也不关心那些共和国的复杂政治,不过雷大老板口中的『小部件』,倒是让阿奇贝有些好奇。比如前段时间一个师兄为了填补那些闭源的空白,搞出来的一个新部件,只要通过无线信号对接后面库房的一台老旧服务器,就可以为智能机器上的其它程序跨距实时传输图文消息。雷大老板居然公开说要免费提供给那些专门写程序的人,这些程序还可以运行在他们竞争对手的智能机器上。做这种只赔不赚的生意,不是疯了么?!

    为了弄明白这事儿,阿奇贝趁打烊后的时间仔细研究了一下这个小部件,他试着把这个小部件接上他平时自己捣腾的一个微型程序,然后把改装好的微型程序下载到店里的智能机器。运行起来之后,图文消息的传输很快,也挺稳定,的确是一个对开发程序的人挺有用的小部件。他详细检查了仪表盘的各个指标和输出的数据,看起来也还算正常,并没有没发现什么端倪。阿奇贝又把这个微型程序下载到今天雷老板刚买来的那部新机器上,依然还是同样的好用。他自叹实在是猜不透雷大老板的想法,只好作罢。

    第二天一早刚来上班,阿奇贝就看到雷大老板一脸阴沉地盯着他。『你昨晚是不是又偷拿那部新机器去「挖矿」了?电池都被你用干了!赶快在中午前给我充好电!』阿奇贝心想,『该不会是昨晚走的时候忘记关掉他的微型程序了?但那个程序在没有输入时应该什么都不会做的呀。』插上电源开机后,他又检查了一遍各个指标,这次出现了很多异样的数据,尤其是能耗指示计显示它的微型程序竟然耗掉了超过80%的电池电量!天呐,但更诡异的是,交互日志显示它的程序整晚都没有在终端上。在仔细检视了整个电量统计的原始数据后,阿奇贝终于找出了背后的原因。这个原因的确是在『背后』,正是它昨天试验时额外接上的那个新部件。他发现虽然他的程序早已从交互终端上关闭了,但这个小部件并未停止工作,仍然在以一个较高的频率向库房的服务器发送一种『心跳信号』,所以看似已经关闭了交互终端,但机器仍在持续消耗电池的电量。

    『不对呀,如果是这个小部件惹的祸,那另一部我们自己的机器也同样整晚运行着接入这个小部件的程序,为什么没有出现如此严重的耗电?』带着这个疑问,阿奇贝去问了开发这个小部件的师兄 图西朋。

    『很简单!因为我们自己出厂的机器里已经全都内置了这个部件,所以当接入这个部件的程序运行在咱们的机器上时,程序里接入的那个小部件会主动关闭,由机器内置的部件统一接管消息的传输。』图西朋得意地解释道。

    看到师兄还这么得意,阿奇贝抗议道『你很有必要来看看那部新机器上你们的部件为什么耗电那么快!』图西朋放下手中的活,检查了一遍正在充电中的新机器。『你昨晚是不是跑了很多个程序副本?我看到至少有6个在一直运行。』

    『嗯…呃… 我当时并不知道程序从终端上退出之后,你们的部件还在后面继续运行。我的确重新编译和启动过很多次,也许每次运行后都残留了你这个部件的副本?』阿奇贝辩解道。

    图西朋眉头开始皱紧,『你发现这个问题的确让我意识到一个风险,当别的机器上加载了多个接入我们这个小部件的不同程序后,就会出现类似这上面昨晚的结果。这是因为每个程序里的这个小部件都有一个周期定时器,它们各自触发,电量消耗就会叠加增长。更糟糕的是,如果这些定时器的周期没能对齐,电量的消耗会比简单的叠加还要多得多…… 幸亏你发现的及时,我得赶紧优化一下。之前光在咱们自家的机器上测试,因为内置的部件只会运行一份,我完全疏忽了这个问题。』

『No,No,No』

    阿奇贝和图西朋一起转身,发现雷大老板不知道什么时候已经来到他们身后。他摇摇头,意味深长的说道,『你们太嫩了…… 想想看,为什么要为别家机器上的能耗进行优化?只要不作任何优化,当那些自作聪明的玩家与他们的朋友来对比各自机器的表现时,就会发现咱家的机器要省电的多。他们压根不可能怀疑到这个小小的部件上来,就连那些程序的开发者也不会想到的。』雷大老板的嘴角露出了一丝神秘的微笑,『阿奇贝,你现在明白我为啥要免费给开发者提供这个小部件了么?』

    『那万一被人发现了呢?』阿奇贝愣了半天,才挤出这样一个问题。『被人发现什么?我们可没有干任何坏事儿。要真被质疑了,顶多只能说优化的不好,那我们就再「优化优化」咯。』雷大老板顿了顿,又摇摇头,『你们还没见识过,外面那些靠制造这种小部件谋生的人,为了在跟我们的竞争中活下去,为了捞取顾客使用机器时的更多数据去卖钱,会把能耗当回事儿?我们已经很文明了好不好。共和国研究院那帮学院派的专家,哪里见识过祈艾那星这种野蛮生长的生态,略施一点小伎俩就可以骗过他们的能耗计。要制服这些无孔不入的肮脏虫子,我们的机器里以后还得多加些「杀虫剂」!』

    雷大老板突然想到了什么,又眉飞色舞起来,『你们这次干的很好!我要去管理处门口贴一张公告。从明天开始,所有在觅悠市场兜售程序的人,想传输消息,就只许接入我们出的这个免费小部件。我这可是为了捍卫咱们客户的机器能耗,哈哈哈哈~』说完,扬长而去,留下面面相觑的两人。


END



往期推荐



为什么各大厂自研的内存泄漏检测框架都要参考 LeakCanary?因为它是真强啊!

Flutter 与 Android 的你来我往

What!我逆向了 Android 代码居然看见……

Android 侧滑菜单(侧滑删除)总结

Android Webp 完全解析 快来缩小 apk 的大小吧


点击下方卡片关注 JsonChao,为你构建一套

大厂青睐的 T 型人才系统



▲ 点击上方卡片关注 JsonChao,构建一套

大厂青睐的 T 型人才知识体系

欢迎把文章分享到朋友圈


你若喜欢,为 JsonChao 点个在看哦 

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存