苹果手机低电量模式怎么关闭(苹果手机低电量模式怎么关闭电量百分比)

功耗基础知识介绍

抖音 Android 性能优化系列:抖音功耗优化实践

图 1. 功耗测试图

为什么要做功耗优化

如何来做功耗优化

功耗组成

抖音 Android 性能优化系列:抖音功耗优化实践

抖音 Android 性能优化系列:抖音功耗优化实践

器件功耗计算

抖音 Android 性能优化系列:抖音功耗优化实践

抖音 Android 性能优化系列:抖音功耗优化实践

功耗分析

功耗评估

PowerMonitor

抖音 Android 性能优化系列:抖音功耗优化实践

电池电量计

抖音 Android 性能优化系列:抖音功耗优化实践

import android.os.BatteryManager;
import android.content.Context;
BatteryManager mBatteryManager = (BatteryManager)Context.getSystemService(Context.BATTERY_SERVICE);
Long energy = mBatteryManager.getLongProperty(BatteryManager.BATTERY_PROPERTY_ENERGY_COUNTER);
Slog.i(TAG, "Remaining energy = " + energy + "nWh");

抖音 Android 性能优化系列:抖音功耗优化实践

抖音 Android 性能优化系列:抖音功耗优化实践

厂商自带耗电排行

耗电排行

抖音 Android 性能优化系列:抖音功耗优化实践

功耗归因

Battery Historian

抖音 Android 性能优化系列:抖音功耗优化实践

抖音 Android 性能优化系列:抖音功耗优化实践

AS Profiler

抖音 Android 性能优化系列:抖音功耗优化实践

线程池监控

线上 CPU 异常精准监控

抖音 Android 性能优化系列:抖音功耗优化实践

DISPLAY

屏幕亮度

抖音 Android 性能优化系列:抖音功耗优化实践

抖音 Android 性能优化系列:抖音功耗优化实践

抖音 Android 性能优化系列:抖音功耗优化实践

抖音 Android 性能优化系列:抖音功耗优化实践

降低刷新率

抖音 Android 性能优化系列:抖音功耗优化实践

图片来源:https://www.sohu.com/a/394532665_115511

降低 TP 扫描频率

抖音 Android 性能优化系列:抖音功耗优化实践

GPU

降低分辨率

抖音 Android 性能优化系列:抖音功耗优化实践

抖音 Android 性能优化系列:抖音功耗优化实践

减少刷新区域

抖音 Android 性能优化系列:抖音功耗优化实践

帧率对齐

抖音 Android 性能优化系列:抖音功耗优化实践

使用 SurfaceView 视频播放

抖音 Android 性能优化系列:抖音功耗优化实践

抖音 Android 性能优化系列:抖音功耗优化实践

硬件绘制和软件绘制

抖音 Android 性能优化系列:抖音功耗优化实践

复杂算法用 NPU 代替 GPU

CPU

CPU 高负载优化


// 方法逻辑有裁剪,仅贴出主要逻辑
private JSONArray packMiscLog() {
    do {
        ......
        try {
            cursor = mDb.query(......);
            int n = cursor.getCount();
            ......
            if (start_id >= max_id) {
                break;
            }
        } catch (Exception e) {
        } finally {
            safeCloseCursor(cursor);
        }
    } while (true);
    return ret;
}

// 边界条件未满足,无法break
while (true) {
    ...
    if (shouldExit()) {
        break
    }
}

// 异常处理不妥当,导致死循环
while (true) {
    try {
       do someting;
       break;
    } catch (e) {
    }
}

// 消息处理不当,导致Handler线程死循环
void handleMessage(Message msg) {
    //do something
    handler.sendEmptyMessage(MSG)
}

后台资源规范使用

抖音 Android 性能优化系列:抖音功耗优化实践

视频硬解替换软解

抖音 Android 性能优化系列:抖音功耗优化实践

图片来源:http://www.noobyard.com/article/p-eedllxrr-qz.html

NETWORK

长链接心跳优化

Doze 模式适配

抖音 Android 性能优化系列:抖音功耗优化实践

AUDIO

降低音量

抖音 Android 性能优化系列:抖音功耗优化实践

调整音频参数

CAMERA

SENSOR

GPS

降低精度

降低频率&提高间隔

低功耗模式

抖音 Android 性能优化系列:抖音功耗优化实践

总结

加入我们

抖音 Android 基础技术团队是一个深度追求极致的团队,我们专注于性能、架构、包大小、稳定性、基础库、编译构建等方向的深耕,保障超大规模团队的研发效率和数亿用户的使用体验。目前北京、上海、杭州、深圳都有大量人才需要,欢迎有志之士与我们共同建设亿级用户的 APP! 感兴趣的同学可以点击“阅读原文”,进入字节跳动招聘官网查询「抖音基础技术 Android」相关职位,也可以邮件联系:gaoyuan.mmm@bytedance.com 咨询相关信息或者直接发送简历内推!

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

留言与评论(共有 0 条评论)
   
验证码:
微信号已复制,请打开微信添加咨询详情!