二分查找 在android的SparseArray中get方法就是通过二分法查找到结果。二分查找的前提是有一个已经排好序的数组。 思路:假设我们需要查找22这个值在数组中的位...
假设有一组数据 选择排序先把第一个数据元素固定(图中的5),然后在后面的数组中找到最小的一个数据(图中的1),然后把1和5交换位置。然后固定第二个元素的位子(9),继续在后面...
冒泡排序是把相邻的两个数据进行排序,比如把下面的数据按大小排序 先把1和4进行排序,1比4小,就不动,再把4和2比,2比4小,2和4交换位置。经过一次循环之后就能把数组中最大...
在项目中我们经常遇见统计耗时,统计是否被点击等等需求,比如统计耗时通常的写法就是在执行的前后都加时间点。 面向对象设计讲究单一性,这个方法不仅有逻辑操作还有耗时的统计,代码一...
App通常都会做混淆防止别人反编译,即使反编译出来也是a、b、c这种,但是这种还是会被一些有心的人还原代码,这样我们需要给dex加密,这样别人就不容易反编译。效果: 别人是没...
在dex加密中我们使用了解密的ProxyApplication作为了application的name,但是通常我们都会在主App中自定义一个MyApplication,并在其...
1. SVGScalable Vector Graphics,可缩放矢量图。SVG不会像位图一样因为缩放而让图片质量下降。优点在于节约空间与内存。常用于简单小图标。svg是由...
显示一个长图片不能一次全部加载,不然很容易OOM,需要一点一点的加载并显示。BitmapRegionDecoder类可以只显示一个矩形区域的图像,而不是完整的图片。 mRec...
Bitmap内存计算: 简单地说是分辨率像素点大小 (长宽*像素点占用的字节) ARGB_8888 ARGB各占8位所以4个字节 ARGB_4444 2个字节(不推荐使用,看...
内存抖动是指内存频繁地分配和回收,而频繁的gc会导致卡顿,严重时和内存泄漏一样会导致OOM。内存抖动为什么会造成OOM这关系到Java的垃圾回收。 垃圾回收在对对象进行回收前...
Java内存模型在曾经的sun公司 制定的java虚拟机规范中,运行时内存模型,分为线程私有和共享数据区两大类,其中线程私有的数据区包含程序计数器、虚拟机栈、本地方法区,所有...
布局渲染流程与原理 黄色的 Control 为控制器,用于协调控制整个 CPU 的运行,包括取ft指令、控制其他模块的运行等; 绿色的 ALU ( Arithmetic Lo...
APP启动的时候会有一个短暂的白屏现象产生的原因是在application的默认主题style/AppTheme的父主题中设置windowBackground为白色 方法一:...
节点的度 结点拥有的子树数称为结点的度。度为0的结点称为叶子结点或终端结点,度不为0的结点称为非终端结点或分支结点。除根结点以外,分支结点也称为内部结点。树的度是树内各结点的...