在用react-antive编写的App实现下载功能,进行多个任务下载时,手机会出现发热,发烫,运行非常缓慢的问题。(原生应用也可能有)

经分析,发热发烫,一般有以下几种可能:

1 、周围环境热,手机散热不过来
        2、手机系统,后台运行程序多,手机资源一直在后台消耗,当然手机会发热发烫
        3、电池问题,换了电池试下

4、程序运行的算法特别消耗资源,CPU高负荷工作

排除硬件原因,我的App原因聚焦在CPU上,然后我查看手机CPU使用情况

明显有个CPU有100%的占用,这应该就是导致上述问题的原因。

现在就开始想办法降低CPU占用

分析CPU占用的原因,一般有以下几种:

(1) 复杂计算

运行一些算法处理,比如:音视频编解码、图像处理、科学计算等等,特别是一些浮点数的运算。

(2) 持续占用CPU

某些高优先级的进程/线程持续占用CPU,很少或者从来不sleep,类似 while(1) {}

(3) 数据拷贝

频繁进行大量的数据拷贝。

(4) 频繁的系统调用

比如:频繁调用 printf 打印、读写硬盘、网络收发等等。
经分析,我的应用是在下载时,用了一个While循环来进行下载,所以

1、在下载部分的While循环里,我添加了如下代码:

try{        Thread.sleep(2);}catch (Exception e){e.printStackTrace();
}

重新编译,查看CPU如下:此时手机已经好转了一大部分

2、继续降低IO读写频率,做法就是加大下载缓存区域,这样就OK啦

原本我的缓存区仅为1K,现在我改为了1000K

private static final int BUFFER_SIZE = 1000*1024;

React-native 进行下载任务时,低配手机发热发烫,运行卡慢的解决办法相关推荐

  1. 从administrators组中删除guest来宾账户时提示无法在内置账号上运行此操作的解决办法...

    从administrators组中删除guest来宾账户时提示无法在内置账号上运行此操作 我的win2003服务器曾经杀出过木马,后来发现guest账号还会自动开启 经检查,guest账号居然跑到ad ...

  2. 菜鸡游戏 云游戏平台 低配手机、电视、PCMAC电脑、平板 畅玩大型游戏

    [推荐]2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 菜鸡游戏是一个供玩家免费下载的云游戏平台,为手机.电脑等设备提供畅玩大型游戏的服务.用户通过"菜鸡游 ...

  3. android8.0 go 机型,安卓8.0良心!还开发了安卓GO, 适配给低配手机,魅族很尴尬!...

    ​ 天天都逛手机圈的都知道,手机圈今年最精彩了吧,iPhone的十周年的苹果手机也快来了,并且还带来IOS11系统,不过安卓阵营也发力,今年8月也要甩出安卓8.0系统了,据称媲美IOS11系统,拭目以 ...

  4. 下载的时候提示:“写入到文件时产生错误(请用磁盘检查工具检查修复)”的解决办法

    载的时候提示:"写入到文件时产生错误(请用磁盘检查工具检查修复)"的解决办法: 下载的文件要是大于2G,而你的硬盘分区格式是FAT32的话就有可能会出现这种情况,虽然FAT32支持 ...

  5. go get 下载包时提示 nnection failed because connected host has failed to respond 解决方法.

    go get 下载包时提示 nnection failed because connected host has failed to respond 解决方法. 第一步: 打开 cmd 输入命令配置国 ...

  6. npm 安装yeoman时出现npm WARN deprecated npmconf@2.1.2报错...解决办法

    npm 安装yeoman时出现npm WARN deprecated npmconf@2.1.2报错-解决办法 我是nodeJS 小白,在用npm命令安装yeoman是,给出了这样的错误提示: $ n ...

  7. iOS11隐藏导航条后顶部有20单位的空白或者pop页面时明显感觉前一个页面有上移的异常动画的解决办法。

    iOS11隐藏导航条后顶部有20单位的空白或者pop页面时明显感觉前一个页面有上移的异常动画的解决办法. 参考文章: (1)iOS11隐藏导航条后顶部有20单位的空白或者pop页面时明显感觉前一个页面 ...

  8. (PD)PowerDesigner设计表时显示注释列Comment,Columns中没有Comment的解决办法(关联MySQL)

    1.在所要编辑的表上双击,打开Table Properties窗口,并将上面的选项卡切换到Columns,如下图: 2.点击Customize Columns and Filter按钮,下图红框中的按 ...

  9. 记录webView接入h5界面时,调起相册、文件、相机无效的解决办法

    记录webView接入h5界面时,调起相册.文件.相机无效的解决办法. 在开发项目时,接入一个h5界面.使用webview时,发现界面显示正常,但是按钮不论怎么点都无效,但是m站和ios都正常.后来上 ...

  10. Mac如何删除在磁盘空间中的可清除空间以及Mac开机时进度条卡100%的解决办法

    Mac如何删除在磁盘空间中的可清除空间以及Mac开机时进度条卡100%的解决办法 1.Mac如何删除在磁盘空间中的可清除空间 对于mac来说磁盘的空间是十分宝贵的,小编会定期的查看一下自己电脑的磁盘使 ...

最新文章

  1. python max函数_Python3
  2. 文档计算机无法分页,同一EXCEL文件在不同计算机上显示分页不同解决办法(6页)-原创力文档...
  3. how Lordec maps the long reads to DeBruijn Graph
  4. APMServ伪静态设置
  5. JSDOM模型的样例
  6. 分享10个jQuery页面动态编辑插件
  7. 447. 回旋镖的数量
  8. python-多继承
  9. 解决Android studio 加载不出网络图片的步骤
  10. Java集合Collection接口中的常用方法演示
  11. 不通过App Store实现ios应用分发下载安装
  12. 游戏付费中的金融学和心理学小知识
  13. java九宫格案例讲解_Java实现九宫格的教程详解
  14. html怎么将一张图撑大,div 如何防止图片太大被撑开
  15. java.lang.UnsatisfiedLinkError: C:\Users\Administrator\AppData\Local\Temp\2\librocksdbjni91
  16. 机器学习平台系列——XGB feature_names mismatch 问题解决方案
  17. 实训期间的开发过程及心得体会
  18. Hank的无线802.11学习笔记--2
  19. Linux per_cpu机制的详解
  20. Tabular系列之问题1:如何利用其他人的账号进行权限测试?

热门文章

  1. 《移动互联网创新应用》研习班(一)
  2. PostgreSql 逻辑结构
  3. Python学习笔记——《吴恩达Machine Learning》线性回归例程
  4. 苹果公司在用户投诉后更改MacBook蝶式键盘用材
  5. 【开发实践】为什么美团开发Kylin On Druid(上)
  6. 【跨域】谷歌chrome浏览器本地文件跨域配置不生效
  7. 20230109测试ToyBrick的RK3588开发板运行Buildroot的V0.02版本(20220312)
  8. 重学算法:Hash 算法原理及应用漫谈
  9. 软件程序如何运行的-简述
  10. paddleNLP 安装