N Numbrush 下载

填色 App 会让手机发烫、耗电快吗

填一块的开销小到几乎可以忽略,真正持续花电的是屏幕和网络。发烫的时候,先别怀疑那一块颜色。

连着填了半小时,手机背面有点温,电量掉了几个百分点,于是很自然地怀疑是这个 App 太吃资源。这个怀疑值得认真回答一次,因为答案里有一半是关于这类 App 是怎么做的,另一半是关于手机的电到底花在哪儿——而后者往往和你正在用的那个 App 关系不大。

先看手机的电花在哪几处

在一次普通的使用里,耗电大头基本是固定的那几项:

把这四项摆出来之后,问题就变成了:填色这件事分别落在哪一项上,落多重。

填一块到底有多贵

这一点可能和直觉相反:填一个区域是这套东西里最便宜的操作之一。

这类 App 并不是把颜色画进一张图里。每幅画额外带一张和原图同样大小的编号图,每个像素记着自己属于哪个区域;另有一条极小的调色带纹理,装着这幅画的十二个颜色,每个颜色还带一个表示「已填/未填/当前高亮」的状态标志。

所以填一块,实际发生的事情是:把状态数组里的一个字节改掉,然后重建那条调色带——一共几千字节的量级。长边 1536 像素的编号图完全不参与,它不会被重新扫描、不会被改写、也不会重新上传。没有位图被重画,没有大块内存被分配。这就是为什么在很旧的机器上填色也是瞬间完成的,而且填一小时机身也不会因此升温。贵的那张东西是只读的,会变的那部分极小。

持续的开销在绘制这一侧

真正每帧都在发生的是绘制。屏幕上每一个像素,着色器都要做一遍固定的事:在编号图上取样、把红绿两个字节拼回区域编号、看蓝通道是不是轮廓、按编号去调色带里查一格颜色、读那格的状态标志,然后决定画填充色、未填的底色,还是高亮。

这件事的成本有两个性质值得知道。第一,它随屏幕像素数走,不随图案复杂度走——一幅有几百个区域的密集曼陀罗,和一幅区域很少的图,每帧的绘制成本几乎一样。第二,它是 GPU 最擅长的那类工作:一次查表,没有分支很深的逻辑,没有循环。

另外,编号图的取样是最近邻的、关掉了 mipmap,上传时也不带色彩空间标记。这几条本来是为了正确性——编号被平滑或者被做色彩转换就会变成别的编号——但顺带也省掉了多级纹理的生成和存储。

真要说什么时候画得多,那就是你在缩放和拖动画布的时候,因为画面在连续变化。静止地看着一幅画时,需要重画的东西要少得多。

不联网这件事的分量比想象中大

回到上面那张耗电清单。Numbrush 的所有画都是随 App 一起打包的,运行时不去外面取任何东西;没有账号,只有一个存在本机的匿名标识;没有广告,也没有内购。

这意味着在无线电和后台这两项上,它的贡献是零。没有图片要下载,没有广告位要竞价和加载,没有事件要上报,没有登录态要刷新。飞机模式下它的行为和联网时完全一样。

这一点常被低估,因为它在界面上是看不见的。一个靠广告变现的 App 每填完一幅画就加载一段视频广告,那段时间里屏幕全亮、网络在跑、视频在解码——单是这一下的开销,可能就超过你之前填的那几百次点击加起来的总和。

那手机确实发烫的时候,查什么

  1. 看是不是在充电。边充边用是最常见的发烫组合,充电本身就会发热,和 App 无关。
  2. 看屏幕亮度。亮度拉满、又在阳光下逼着屏幕再提亮,是很稳定的发热来源。把亮度降到和环境相当,比换 App 有效得多。
  3. 看信号。信号只有一两格的地方(电梯口、地下、郊区),手机会持续加大发射功率,这时候发烫和你开着什么 App 关系不大。真的不需要联网,飞行模式反而更凉。
  4. 看后台。真正持续跑的往往是别的东西:导航、下载、录屏、正在同步的相册。前台的那个 App 只是背了锅。
  5. 摘掉厚壳子。散热被闷住的时候,同样的负载会明显更烫。
  6. 刚更新完系统或者刚恢复完数据的那一两天,系统自己在后台重建索引,整机都会更耗电,这也不是某个 App 的问题。

一条可以自己做的验证

如果想确认到底是不是这个 App,方法很简单:把亮度固定在一个值,开飞行模式,然后正常填二十分钟,看电量掉了多少;再用同样的亮度和时长做一件别的事对比。控制住亮度和网络这两个变量之后,剩下的差异才是 App 本身的差异。

不控制变量地比较是没有意义的——大多数「这个 App 特别耗电」的印象,最后都能追回到亮度、信号或者后台的某一项上去。

常见问题

填色 App 耗电吗?

填一块的开销极小:改一个字节,重建一条几千字节的调色带,那张两百万像素的编号图完全不参与。持续的开销在每帧绘制上,而它随屏幕像素数走,不随图案复杂度走。耗电的大头通常是屏幕亮度和网络,不是填色本身。

为什么填一会儿手机就有点烫?

先排除三件事:是不是在充电、亮度是不是拉满、信号是不是很弱。这三项里任何一项都比填色本身的负载重。厚壳子闷住散热、刚更新完系统在后台重建索引,也都是常见原因。

不联网会更省电吗?

会。无线电是耗电大头,信号弱的时候尤其明显。Numbrush 的画全部随 App 打包,运行时不取任何东西,没有账号也没有广告要加载,所以飞行模式下的行为和联网时完全一样。

图案越复杂越耗电吗?

基本不会。每帧的绘制成本随屏幕像素数走,一幅几百个区域的密集图和一幅区域很少的图差别很小。而填一块的开销和区域数量也无关,因为改的只是一个字节。

拿真画布试一遍

Numbrush 是给成年人的数字填色:曼陀罗、玫瑰花窗和几何纹样,每幅十二色,窄的地方有放大镜,点错了没有任何代价。免费、离线、无广告、无账号。

在 App Store 下载

相关文章

全部指南