![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
性能优化
文章平均质量分 92
半瓶子响叮当
知行合一,格物穷理
展开
-
Android Camera NV21图像裁剪
/** * 任意裁剪YUV420SP格式,这种存储格式决定了 left, top, clipW, clipH 必须是偶数。 * 如果传进来的不是偶数,函数内部会处理成偶数,left、top会向右下或者左上偏移一个像素 * 显示的图像颜色不对,不是绿就是蓝。 * 裁剪的原理: * 1. NV21(YUV420SP)的存储格式:先逐行存储Y,再交叉存储VU,Y的大小是width*height,VU的大小是 width*height/2; * 2. 裁剪时,可以想象原始数据byte[] src是一个二原创 2020-08-08 12:07:54 · 1975 阅读 · 9 评论 -
HashMap源码分析
概述HashMap实现了Map<K, V>接口,通过键-值(key-value)的方式存取数据。内部的数据结构是数组+链表(或者Tree),插入时通过key的hash值,映射((n - 1) & hash,其中n为数组的长度)到数组中的位置,如果hash值重复,则在链表的末端插入(当一个链表中的数据大于等于8个时,就将链表转变为Tree),而当数组达到一定值时,会resize...原创 2020-02-06 11:32:34 · 334 阅读 · 2 评论 -
一个Socket通信案例
概述到了新的公司,开始新的工作已两个月有余,从一个坑跳到了另一个坑,就直接说说现在遇到的问题吧。公司的产品客户端需要通过socket和C++后台交互,既然是socket,也就这么一个流程:通过配置文件,解析服务器的地址和端口;打开socket通道,建立和服务器的长链接;和服务器通信;应用退出,关闭连接。问题在这里,和服务器通信,拿到一个完整的消息后,通过解析指令的参数,进行不同的处理,我接手的代...原创 2020-01-30 14:00:19 · 695 阅读 · 0 评论 -
一次CPU使用率100%引发的思考
一次CPU使用率100%引发的思考最近要发一个版本,临了测试在挂机的时候发现一个CPU占用高,导致App卡死的bug。经过这次bug真切感受到写代码完成功能容易,一旦代码量上去了,出问题的时候如何定位就是个难题。为了尽可能少地避免这种上线后出现问题,出现问题后及时修复,掌握必要的问题分析工具和严谨的日志记录是一个程序员的基本素养。本次事件对app开发的启示和使用的工具方法等:必须有一个...原创 2019-12-15 23:49:22 · 470 阅读 · 0 评论 -
Android 内存问题与优化避免
比起前几年,现在的 Android 设备拥有更大的内存。但是,即使现在可以使用更多的内存,也是有一个上限的,具体大小和各个厂商的设置有关。如果内存使用不当,还是会影响到APP的性能。内存问题主要有两类,一是内存溢出,二是内存泄漏。解决内存问题,主要靠借助工具检测分析,然后做代码优化。一、Android 应用开发中的内存问题1.1 单个进程可用内存限制目前的 Android 设备,动辄4G、6G甚至8原创 2017-11-21 23:44:48 · 447 阅读 · 0 评论 -
Android流畅度优化
Android流畅度优化流畅度对于任何产品来说其重要性不言而喻,相对于iPhone,Android手机的一个诟病就是卡…为了在后续的开发中避免卡顿问题,细读了腾讯TMQ专行测试团队出品的《移动App性能评测与优化》,本文内容是阅读此书的笔记。评判流畅度的标准FPSFPS:Frames per second,计算方法(来自当我们讨论流畅度的时候,我们究竟在说什么?)原创 2018-01-28 13:00:11 · 774 阅读 · 0 评论 -
搭建Maven(Nexus)私服—实现模块化开发
搭建Maven(Nexus)私服概述在开发过程中,需要集成Unity的资源,有190M。由于Unity修改比较频繁,git仓库越来越大,很快就达到了2G,由于还有很多其它module,每次构建都要很长的时间。为了减少clone的下载时间,提高构建速度,尝试将Unity资源打包为一个aar资源上传到maven私服,然后通过依赖引入到主工程,其它独立的module也可以这样操作。这样做的优点有一,...原创 2018-09-25 16:05:49 · 440 阅读 · 0 评论