![](https://img-blog.csdnimg.cn/e3568ab68f4a4bd9bf5398b812018610.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
性能优化
文章平均质量分 82
android 性能优化
别偷我的猪_09
人间处处是繁华,你要全赴努力开花。
展开
-
Android---SQLite优化
它的设计目的是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百 K 的内存就够了。它能够支持 Windows/Linux/Unix 等主流的操作系统,同时能够跟很多程序语言想结合,比如 Java、C#、PHP、Tcl 等,还有 ODBC 接口,统一比起 Mysql, PostgreSQL 者两款开源的世界著名数据库管理系统来讲,它的处理速度比他们都快。唯一性索引:保证在索引列中的全部数据是唯一的,对聚簇索引和非聚簇索引都可以使用。查询列与索引列次序一致。原创 2023-07-03 09:49:13 · 249 阅读 · 0 评论 -
Android---APK 瘦身
在 APP 开发过程中,随着业务迭代,apk 体积逐渐变大。项目中累积的无用资源,未压缩的图片资源等,都为 apk 带来了不必要的体积增加。而 APK 的大小会影响应用加载速度、使用的内存量以及消耗的电量。原创 2023-05-24 22:37:28 · 1426 阅读 · 1 评论 -
Android---LeakCanary
LeakCanary 是一个内存泄漏检测工具,找出有内存泄漏嫌疑的对象。原创 2023-05-16 15:26:02 · 256 阅读 · 0 评论 -
Android---bitmap优化
inSampleSize 图片缩放的倍数,这个值是一个 int,当它小于 1 的时候,将会被当做 1 处理,如果大于 1,那么就会按照比例 1 / inSampleSize 缩小 bitmap 的宽和高,降低分辨率,大于 1 时这个值将会被处置为 2 的倍数。例如,width = 100, height = 100,inSampleSize = 2,那么就会将 bitmap 处理为,width = 50, height = 50,宽高将为 1/2, 像素数将为 1/4 (1/2 * 1/2).原创 2023-05-09 17:57:10 · 1382 阅读 · 0 评论 -
Android---ANR问题分析
但不再是在子线程里做这些任务(因为 BroadcastReceiver 的生命周期短),代替的是,如果响应 Intent 广播需要执行一个耗时的动作的话,应用程序应该启动一个 Service。FileObserver 是一个抽象类,需要定义子类实现该类的 onEvent 抽象方法,当被监控的文件或者目录发生变更事件时,将回调 FileObserver 的 onEvent() 函数来处理文件或目录的变更事件。因此,这里有一些额外的技巧来避免 ANR,并有助于让你的应用程序看起来有响应性。原创 2023-05-06 11:42:42 · 1509 阅读 · 0 评论 -
Android---启动速度优化
当选择启用了该计划的用户运行您的应用时,其 Android 设备会记录各种指标,包括应用稳定性、应用启动时间、电池使用情况、呈现时间和权限遭拒等方面的数据。实际上不同的应用因为启动时需要初始化的数据不同,启动时间自然也会不同,相同的应用也会因为在不同的设备,因为设备性能影响启动速度不同。所以实际上启动时间并没有绝对统一的标准,我们之所以需要进行启动耗时的统计,可能在于产品对我们应用启动时间提出具体的要求。分析器会比较捕获的数据集,以推导与应用的 Java 代码执行有关的时间或资源使用信息。原创 2023-05-05 18:02:41 · 1243 阅读 · 0 评论 -
Android---启动页+闪屏页
app 在进入首页面的过程中,都会线加载一张图片作为启动页,然后再进入闪屏页,最后才进入主页。这样,可以给用户很好的体验。原创 2023-04-22 11:50:04 · 2549 阅读 · 1 评论 -
Android---屏幕适配
屏幕分辨率是指在横纵方向上的像素点数,单位是 px,1px = 1个像素点。假如同样都是画一条长度都是屏幕一半的线,如果使用 px 作为计量单位,那么在 480x480 分辨率手机上设置为 240px;由于 Android 系统的开放性,任何用户、开发者、OEM 厂商、运营商都可以对 Android 进行定制,于是导致运行 Android 的设备多种多样,它们有着不同的。屏幕像素密度与屏幕尺寸和屏幕分辨率有关,在单一变化条件下,屏幕尺寸越小、分辨率越高,像素密度越大,反之越小。原创 2023-04-21 11:00:46 · 1035 阅读 · 0 评论 -
Android---性能优化之图片压缩
质量压缩会用到 Bitmap.compress()。这个方法有三个参数:Bitmap.CompressFormat format:图像的压缩格式(jpeg ,png, webp);,0--100。0 压缩率为 100%,100 意味着不压缩;OutputStream stream:写入压缩数据的数据流。返回值:如果成功把压缩数据写入写入输出流,则返回 true;原创 2023-04-18 14:53:07 · 997 阅读 · 0 评论 -
Android---导致OOM的常见原因
在 Android 8.0及更高版本中,ART 工具接口(ART TI )可提供某些运行时的内部架构信息,并允许分离器和调试程序影响影响应用的运行时行为,这可用于。是 JVM 对外暴露的接口,JDI 是实现了 JDWP 通信协议的客户端,调试器通过它和 JVM 中被调试程序通信。(Java PlatformDebugger Architecture),它是 Java 虚拟机为。就会它的值来限定单个进程的内存值。遵循对象的引用树,遍历堆中的所有对象。,它表示堆分配的初始大小。,单个进程可用的最大内存。原创 2023-04-15 09:28:43 · 440 阅读 · 0 评论 -
Android---内存泄漏检测核心原理
LeakCanary 是 Square 公司的一个开源库。通过它可以在 App 运行过程中检测内存泄漏,当内存泄漏发生时会生成发生泄漏对象的引用链,并通知程序开发人员。检测保留的对象生成堆转储文件(heap dump)分析堆转储文件对泄漏进行分类LeakCanary 通过 hook Android 的生命周期来自动检测 Activity 和 Fragment 何时被销毁,何时应该被垃圾回收,这些被 destory 的对象被传递给 ObjectWatcher,。原创 2023-04-13 22:56:36 · 992 阅读 · 0 评论 -
Android---内存性能优化
内存抖动是由于导致的,内存忽高忽低,有短时间内快速上升和下落的趋势,分析图呈。它伴随着频繁的 GC,GC 会大量占用 UI 线程和 CPU 资源,会导致 APP 整体卡顿(因为 GC 在回收内存时会停止工作线程),甚至有的可能(原因:在创建大量对象,而给新生代分配的空间又比较少,所以它就会占用一部分的空间,然后此时有大对象满足了从新时代进入老年代的条件,而老年代里因为空间不够,再加上没有一块连续的空间分配给这个大对象,这时候就会报 OOM 错误)。程序中已动态分配的由于某种原因程序未释放或。原创 2023-04-12 14:02:55 · 727 阅读 · 0 评论