
性能优化
文章平均质量分 90
介绍Android性能优化常用的工具和手段
hzulwy
技术嘛!最重要的是自己理解,然后才是分享
展开
-
前端性能优化之渲染优化
为了使每一帧页面渲染的开销都能在期望的时间范围内完成。就需要开发者了解渲染过程的每个阶段,以及各阶段中有哪些优化空间是我们力所能及的。经过分析根据开发者对优化渲染过程的控制力度,可以大体将其划分为5各部分:js处理、计算样式、页面布局、绘制与合成。这个过程中的每一个阶段都有可能产生卡顿。注意:并非对于每一帧画面都会经历这5个部分,比如仅修改与绘制相关的属性(文字颜色,背景图片或边缘阴影等),而未对页面布局产生任何修改,那么在计算样式阶段完成后,便会跳过页面布局直接执行绘制。原创 2024-01-10 22:22:33 · 1351 阅读 · 0 评论 -
前端性能优化之数据存取,存储以及缓存技术
无论是哪种计算机语言,说到底它们都是对数据的存取与处理。若能在处理数据前,更快地读取数据,那么必然会对程序执行性能产生积极的作用。一般而言,js的数据存取有4种方式。其中数组元素和对象属性不仅可以是直接字面量的形式,还可以是由其他数组对象或对象属性组成的更为复杂的数据结构。从读取速度来看,直接字面量与变量是非常快的,相比之下数组元素和对象属性由于需要索引,其读取速度也会因组成结构的复杂度越高而变得越慢。如今浏览器对内部js引擎不断迭代优化,在一般的数据规模下,其快慢的差别已经微乎其微。原创 2024-01-10 06:38:33 · 1680 阅读 · 0 评论 -
前端性能优化之图像优化
图像优化问题主要可以分为两方面:图像的选取和使用,图像的加载和显示。原创 2024-01-07 22:46:00 · 1197 阅读 · 0 评论 -
前端页面的生命周期
传输层常见的协议有tcp协议和udp协议,由于我们重点是前端页面的资源请求,这需要面向连接,丢包重发以及✓数据传输的各种控制,所以我们详细介绍下“三次握手”和“四次挥手”。“三次握手”具体过程分为如下步骤:客户端生成一个随机数seq,假设其值为t,兵将标志位SYN设为1,将这些数据打包后发给服务端后,客户端进入等待服务端确认的状态。原创 2024-01-05 21:55:39 · 1248 阅读 · 0 评论 -
前端性能优化简述
大部分网站体现的价值都无外乎信息的载体、交互的工具或商品流通的渠道,这就要求它们需要与更多的用户建立关系,同时还要保持所建立的联系拥有绵延不绝的用户粘性,所以网站就不能只关注自我表达,而不顾及用户是否喜欢。用户的留存我们都希望用户访问网站所进行的交互,对网站构建的内容来说是有意义的,比如,电商网站希望用户浏览并购买商品,社交网站希望用户之间进行互动,视频网站希望用户观看视频,而这些希望都是建立在网站用户留存的基础上的。。原创 2024-01-04 18:45:52 · 492 阅读 · 0 评论 -
Android系统新特性——功耗的改进
移动设备的续航时间无疑是所有用户都非常在意的。我们都希望自己的手机一次充电可以使用更长的时间。但遗憾的是,近几年移动设备的电池元件一直没有重大的技术突破。并且,随着硬件性能的提升却带来了更多的电量消耗。如果对比近几年的Android和ios手机,我们会发现:通常情况下,Android手机的电池要比同时期的ios电池容量大很多,但是待机方面却没有太大的优势。ios之所以续航优秀,其很大的原因在于对于后台进程的限制。在ios上,后台进程是无法长时间处于活跃状态的。原创 2023-11-26 18:06:10 · 532 阅读 · 0 评论 -
android系统新特性——用户界面以及系统界面改进
一类是系统的内置应用,这些应用提供了手机的基本功能。包括launcher、系统设置、电话、相机等。它们位于/packages/apps/目录下。理论上,这些应用都是可以被第三方应用所替代的,例如:我们完全可以安装一个第三方的电话、相机,而不使用系统的,这也是Android系统最为灵活的地方(注意:系统设置通常无法被第三方应用替代,因为它使用了一些拥有非常高权限的内部api。为了保证系统安装,这些api很多不会对外开放)。原创 2023-11-26 00:03:31 · 819 阅读 · 0 评论 -
Android热修复2(ASM技术的运用)
我们借由上一篇文件的项目引出下面这个问题。如果MainActivity类中只引用了:Utils类。当打包dex时,MainActivity与Utils都在classes.dex中,则加载时MainActivity类会被标记为。如果使用补丁包中的Utils类取代出现bug的Utils,则会导致MainActivity与其引用的Utils不在同一个Dex,但MainActivity已经被打上标记,此时出现冲突。导致校验失败!会报错误。原创 2022-11-09 17:34:33 · 936 阅读 · 1 评论 -
Android性能优化之热修复
热修复分为两种:阿里系:从底层C的二进制来入手的。腾讯系:从Java类加载机制来入手的。什么是热修复?一般的bug修复,都是等下一个版本解决,然后发布新的apk。热修复:可以直接在客户已经安装的app当中修复bug。本文采用Java类加载机制来实现热修复实现原理:Android的类加载器在加载一个类时会先从自身的DexPathList对象种的Element数组种获取(Elemen...原创 2019-12-28 21:13:26 · 182 阅读 · 0 评论 -
静态代码审查
接下来,我们来探讨如何自定义Lint的检查范围。在Android Studio中,已经预设了很多检查范围供我们选择,为方便扩展和自定义检查需求,还开放了自定义Lint检查范围,主要通过广泛使用的Scope窗口实现。使用预置的检查范围从图中可以看到,由多个菜单项可以选择,我们先了解下它们都是些什么含义。Project Files: 当前工程的所有文件。Proiect Source Files: 当前工程的所有源代码文件。原创 2022-10-06 18:38:55 · 3598 阅读 · 0 评论 -
探索App保活黑科技
我们来聊聊目前可用的App保活技术。这些方法在目前看来都还可以用,并且效果也很好。但无法保证长期可用,因为Android操作系统本身可能会更改其策略,而且各厂商在定制Android时也会引入自家节电策略。这些都有可能破坏我们原本可用的保活逻辑,所以当Android系统本身发生策略改变时,还需要去查看官方文档,关注有关影响保活的策略改变,并适配它们。此外,针对各厂商定制的系统,还应该尽可能地多做测试,尽可能地确保App在大部分设备上是正常运行的。原创 2022-10-05 15:13:09 · 2531 阅读 · 1 评论 -
App耗电及Crash体验优化
我们都知道,对于移动设备,无论是手机还是平板电脑,其续航时间在用户体验中都扮演重要角色,低续航通常会给用户带来不好的体验,甚至让用户产生危机感,不敢长时间持续使用设备,续航时间越久,这种现象就越不明显,用户体验就越好。若要尽量做到这一点,则关键在于降低App的耗电量。此外,对于App Crash,相信无论是作为用户还是开发者,都是不想看到的。它不可避免地发生,极大程度上影响用户的体验。原创 2022-10-03 22:20:31 · 2445 阅读 · 0 评论 -
优化APK体积
该篇文章主要来介绍如何减少APK体积,以帮助用户更快地下载App,并加速安装/更新过程。原创 2022-10-02 17:23:05 · 1411 阅读 · 0 评论 -
Android热修复1
在我们应用上线后出现bug需要及时修复时,不用再发新的安装包,只需要发布补丁包,在客户无感知下修复调bug。原创 2022-08-01 23:17:46 · 1136 阅读 · 0 评论 -
Android性能优化之内存优化
Android性能优化之内存优化这篇文章是讲解如何通过对内存优化来实现Android性能优化.与内存优化相对的是内存泄露.那什么是内存泄露呢?我们都知道不管是Android还是Java,我们new一个对象之后,当使用完毕之后是不需要像c/c++那样手动用free函数或delete函数去释放这个对象,Java有一个垃圾回收机制(GC)可以自动将不再需要使用对象释放掉,垃圾回收算法这里就不阐述了.而...原创 2019-12-07 22:09:02 · 380 阅读 · 0 评论 -
Android性能优化之电量优化
移动设备中最耗电的硬件是屏幕、无线信号(蜂窝,WI-FI,蓝牙和GPS)、CPU(在高速处理下)和传感器。无线设备:若app需要使用无线传输,最好的性能提升方式是一次下载尽可能多的数据,然后关闭无线设备,减少请求次数是一个一举两得的方法,不仅可以提升屏幕的加载速度,也可以节省电量。传感器:当注册一个传感器之后,可以使用getpower()方法来获取传感器消耗的电量。当Android设备空闲时...原创 2019-12-31 20:40:03 · 449 阅读 · 1 评论 -
Android性能优化之数据传输效率优化
一般地,数据传输大都是用数据的序列化和反序列化来完成的(即服务器对象Object----流—>客户端Object对象)这样传输的过程中需要花费大量的时间来解析数据。这里介绍一个基于二进制文件来进行传输的方式——FlatBuffers。这种方式只需要把byte数据加载到内存中即可,不需要像json那样进行序列化与反序列化,大大节约了传输的时间。FlatBuffers的使用方法:首先按照使用...原创 2019-12-29 18:42:17 · 390 阅读 · 0 评论 -
Android性能优化之安装包性能优化
参考地址:https://www.cnblogs.com/Oztaking/p/9418445.html原创 2019-12-31 11:16:19 · 139 阅读 · 0 评论 -
Android性能优化之网络优化
本文讲解如何通过缓存来实现网络优化。Demo:MainActivity:package com.dn.networkcache;import java.io.BufferedReader;import java.io.File;import java.io.IOException;import java.io.InputStream;import java.io.InputStr...原创 2019-12-30 00:11:45 · 153 阅读 · 0 评论 -
Android优化
内存泄露内存泄露是Android开发过程中最常见的问题之一。Java是垃圾回收语言之一,使用者无须手动释放内存,交由垃圾回收器自动管理即可。但是如果使用不当,很容易造成该释放掉的内存未能及时释放,从而越积越多,最终导致内存耗尽,系统抛出OOM错误。内存泄露的原因简单来说就是存放在堆中的对象仍存在强引用,GC无法在内存中回收这个对象。形象来说就是生命周期长的对象持有生命周期短的对象的引用。Android中常见的场景是Activity回收。因为activity是有生命周期的,当其关闭后需要交由GC回收。但原创 2021-08-22 08:58:55 · 157 阅读 · 0 评论 -
android启动优化
我们今天讨论的主题是:想要进行app的启动优化有一点必须要知道的就是Android的启动流程和启动状态。Android的启动流程相关的知识点,各位可以去查阅Android framework相关的资料,这里只是简单的说下启动流程。大家可以看下下面这张图。因此,我们可以 整体的将应用启动分成三个阶段:应用有三种启动状态,每种状态都会影响应用向用户显示所需的时间:冷启动、温启动与热启动。在冷启动中,应用从头开始启动。在另外两种状态中,系统需要将后台运行的应用带入前台。建议始终在假定冷启动的基础上进行优化。这原创 2022-06-12 19:58:59 · 823 阅读 · 0 评论