美文网首页iOS
iOS 电量优化

iOS 电量优化

作者: 旅途的喵 | 来源:发表于2019-06-15 11:54 被阅读0次

一 优化CPU耗电

耗时长处理

对于大量复杂计算,应该把数据传到服务器处理,如果必须在APP内处理,可以通过GCD处理。

将 GCD 的 block 通过 dispatch_block_create_with_qos_class 方法指定队列的 QoS 为 QOS_CLASS_UTILITY。这种 QoS 系统会针对大的计算,I/O,网络以及复杂数据处理做电量优化


image.png

异步处理

image.png

二 I/O优化

将碎片化的数据磁盘存储操作延后,先在内存中聚合,然后在进行磁盘存储。碎片化的数据进行聚合,在内存中进行存储机制,可以使用NSCache来完成。

NSCache特性

1.自动清理线程内存
2.线程安全
3.-(void)cache:(NSCache *)cache willEvictObject:(id)obj; 缓存对象将被清理时的回调
4.evictsObjectsWithDiscardedContent 可以控制是否清理

  • SDWebImage图片加载框架,在图片的读取缓存处理时没有直接使用I/O,而是使用了NSCache.

- (UIImage *)imageFromMemoryCacheForKey:(NSString *)key {
    return [self.memCache objectForKey:key];
}

- (UIImage *)imageFromDiskCacheForKey:(NSString *)key {
    // 检查 NSCache 里是否有
    UIImage *image = [self imageFromMemoryCacheForKey:key];
    if (image) {
        return image;
    }
    // 从磁盘里读
    UIImage *diskImage = [self diskImageForKey:key];
    if (diskImage && self.shouldCacheImagesInMemory) {
        NSUInteger cost = SDCacheCostForImage(diskImage);
        [self.memCache setObject:diskImage forKey:key cost:cost];
    }
    return diskImage;
}

三 评估电量工具

Energy Impact

// 必须真机


image.png

四 其他优化

四大主要耗电优化

image.png

1.cpu处理
2.网络
3.定位
4.图像

具体可参考 苹果公司在 2017 年 WWDC 的 Writing Energy Efficient App

具体电量优化指南

从CPU、设备唤醒、网络、图形、动画、视频、定位、加速度计等电量方面优化Energy Efficiency Guide for iOS Apps

资料

戴铭的博客
深入剖析 iOS 性能优化

相关文章

  • 21.性能优化

    关于iOS 性能优化梳理: 基本工具、业务优化、内存优化、卡顿优化、布局优化、电量优化、 安装包瘦身、启动优化、网...

  • iOS App优化:基本工具、业务优化、内存优化、卡顿优化、布局

    关于iOS 性能优化梳理: 基本工具、业务优化、内存优化、卡顿优化、布局优化、电量优化、 安装包瘦身、启动优化、网...

  • 性能优化

    关于iOS 性能优化梳理: 基本工具、业务优化、内存优化、卡顿优化、布局优化、电量优化、 安装包瘦身、启动优化、网...

  • iOS 性能优化总结

    关于iOS 性能优化梳理: 基本工具、业务优化、内存优化、卡顿优化、布局优化、电量优化、 安装包瘦身、启动优化、网...

  • iOS 电量优化

    耗电检测 1.普通检测 一般方法为非开发人员测试的方法,iOS12以上可在 设置->电池 查看每小时对应APP的耗...

  • iOS 电量优化

    最近观看 WWDC 2020 关于电量和性能调试的 session: Diagnose performance i...

  • iOS 电量优化

    一 优化CPU耗电 耗时长处理 对于大量复杂计算,应该把数据传到服务器处理,如果必须在APP内处理,可以通过GCD...

  • iOS的电量优化

    iOS的性能优化越来越成为重点,电量优化也成为其中一个重点。引起电量优化的原因有很多,比如:页面有没有开启实时定位...

  • 【iOS】iOS电量优化方案

    1、 网络方面的优化 请求前判断网络状态,网络不可用,不要尝试执行网络请求; 请求前设置合适的超时时间,避免长时间...

  • iOS电量优化之路

    https://github.com/BiBoyang/Study/wiki/iOS%E7%94%B5%E9%87...

网友评论

    本文标题:iOS 电量优化

    本文链接:https://www.haomeiwen.com/subject/jnovfctx.html