8 天前 / Android开发
一、引言 原文链接:https://www.jianshu.com/p/b0de542204f8 Android 里面内存泄漏问题最突出的就是 Activity 的泄漏,而泄漏的根源大多在于因为生命周期较长的对象去引用生命周期较短的 Activity 实例,也就会造成在 Activity 生命周期结束后,还被引用导致无法被系统回收释放。 Activity 导致内存泄漏有两种情况: 应用级:应用程序代码实现的 activity 没有很好的管理其生命周期,导致 Activity 退出后仍然被引用。 系统级:Android 系统级实现的对 activity 管理不太友好,被应用调用导致内存泄漏。
9 天前 / 逆锋起笔
code 小生 一个专注大前端领域的技术平台公众号回复 Android 加入安卓技术群 作者:如果执着 链接:https://www.jianshu.com/p/20252fc5c836 声明:本文已获如果执着授权发表,转发等请联系原作者授权 以下部分适配是针对的是混合开发的项目,使用的是 mui 及 h5+ api 和原生代码实现 最近接手了一个公司项目,项目比较老了,从 Android 5.0 之后就再也没有适配过了,然而重写时间又来不及,然后我的爬坑之旅便开始了。(以下适配方案是按照项目需求顺序来的) 相机部分适配嘛,肯定得一步一步来,先从 Android 6.0 开始适配吧。
14 天前 / 秦小风啊
稳定性、性能、包大小,在移动端基础用户体验领域“三分天下”,是 app 承载业务获得稳定、高效、低成本、快速增长的重要基石。其中,包大小对下载转化率、拉新拉活成本等方面的影响至关重要,这在业界已经成为共识,近年来头部 app 针对下沉市场的极小包策略,更是将包大小的价值提升到了极致。优酷在 Android 包大小领域,有长达 5 年的持续投入、实践和积累,尤其是在近 2 年逐步进入低成本可持续治理的健康状态。
26 天前 / 美团技术团队
总第 513 篇 2022 年 第 030 篇 减小应用安装包的体积,对提升用户体验和下载转化率都大有益处。本文将结合美团平台的实践经验,分享 so 体积优化的思路、收益,以及工程实践中的注意事项。本文将先从 so 文件格式讲起,结合文件格式分析哪些内容可以优化,然后再具体讲解每项优化手段以及注意事项,最后介绍相关的工程实践经验。希望能对从事包体积优化的同学有所帮助或启发。1. 背景 2. so 文件格式分析 3. so 可优化内容分析 4. 优化方案介绍 4.1 精简动态符号表 4.2 移除无用代码 4.3 优化指令长度 4.4 其他措施 4.5 整合后的通用方案 5. 工程实践 支...
34 天前 / u553041
在电影《金刚川》中,导演使用了一种特殊的拍摄手法 --- 对同一时间维度上的事情进行不同视角的重复播放。虽然有拼凑时长的嫌疑,但实际上,这一手法在艺术体系中有名有据,叫做「复调叙事」。 看似是重复,实则是力度更深的铭记,希望观众们不要忘记惨烈的过去。 在Android 上屏流水账这篇文章中介绍了 Android View 显示到屏幕上所经历的流程。这篇文章通过「复调叙事」这一手法,就从不同的视角分别看一下这一流程的细节,从而加深对 Android View 渲染、刷新的理解。
44 天前 / u553041
Android 在 16ms 内完成一次界面刷新操作,每个 16ms 都需经历UI 主线程 、RenderThread 线程、SurfaceFlinger 进程这 3 者的洗礼。3 者按顺序依次执行,并最终将 View 展示在屏幕上。 16ms 是针对 60Hz 刷新率的屏幕,如果是 90H 则是 11ms,120Hz 则为 8ms UI 主线程 绘制 UI 主线程需要完成 Measure、Layout、Draw 操作, 这 3 个操作全部都是由 CPU 执行完成。 /*frameworks/base/core/java/android/view/ViewRootImpl.java*/ voiddoTraversal(){ ... //执行具体的绘制任务 performTraversals(); ... } privatevoidperformTraversals(){ ... //1.从 D...
54 天前 / Android开发
Android 卡顿掉帧问题分析之原理篇 Android 卡顿掉帧问题分析之工具篇 Android 卡顿掉帧问题分析之实战篇 Android 卡顿掉帧问题分析之原理篇公众号:Android 技术之家 Android 卡顿掉帧问题分析之原理篇 上一篇文章中我们完整的分析了 Android 系统中应用上帧显示的系统运行机制和流程,了解了卡顿问题的基本定义,也就具备了分析卡顿掉帧性能问题的理论知识。但是俗话说“工欲善其事,必先利其器”,在开始着手分析卡顿问题之前,我们还必须要掌握一些分析性能问题的工具与手段,也就是掌握分析问题所使用的“器”...
84 天前 / Android开发
前言 防止第三方反编译篡改应用,防止数据隐私泄露,防止二次打包欺骗用户。 1、一些必要的基础知识 我们在加密的时候会用到一些加密或者编码方法。常见的有,非对称加密算法 RSA 等;对称加密算法 DES、3DES 和 AES 等;不可逆的加密 MD5、SHA256 等。 另外,我们会把重要的加密逻辑放到 Native 层来实现,所以一些 JNI 编程的方法也是需要的。不过,如果仅仅是用来作加密的话,对 C/C++ 的要求是没那么高的。对在 Android 中使用 JNI,可以参考我之前的文章《在 Android 中使用 JNI 的总结》。
93 天前 / u128287
动手点关注干货不迷路 启动性能是 APP 使用体验的门面,启动过程耗时较长很可能使用户削减使用 APP 的兴趣,抖音通过对启动性能做劣化实验也验证了其对于业务指标有显著影响。抖音有数亿的日活,启动耗时几百毫秒的增长就可能带来成千上万用户的留存缩减,因此,启动性能的优化成为了抖音 Android 基础技术团队在体验优化方向上的重中之重。 在上一篇启动性能优化之理论和工具篇中,已经从原理、方法论、工具的角度对抖音的启动性能优化进行了介绍,本文将从实践的角度通过具体的案例分析介绍抖音启动优化的方案与思路。
99 天前 / Android开发
复习点 1、项目经历,业务,难点 2、Java 基础,JVM,集合原理 3、Android 基础,View 体系,View 绘制流程,事件分发,屏幕刷新,动画原理 4、常见三方库原理 5、Jetpack 6、Android Framework 7、算法 8、Kotlin 具体链接 1 算法部分 打遍天下二叉树 https://github.com/xfhy/Android-Notes/blob/master/Blogs/Algorithm/ 打遍天下二叉树。md labuladong 的 fucking-algorithm https://github.com/labuladong/fucking-algorithm 2 Java 基础 Java 集合源码复习一遍 ArrayList 源码解析 https://github.com/xfhy/Android-Notes/blob/master/Blogs/Java/ 集...
104 天前 / Android开发
2 月 10 日,Google 宣布 Android 13 首个预览版面向开发者开放,此版本重点聚焦隐私和安全、提供开发者生产力、应用兼容性,并保持与 OpenJDK 11 更新一致、提供主题图标、带来新的照片选择器等功能。 接下来,让我们一起来看看最新版本的 Android 13 到底有什么样的改变吧! 以隐私和安全为核心 网络大数据时代,隐私与安全对于各大公司及用户而言至关重要,上到芯片、系统,下到应用程序,每一角落的安全及隐私保护都不容忽视。
127 天前 / Android_开发者
无障碍写文章登录 Android Studio 对现代 WorkManager 的支持谷歌开发者已认证帐号 2 人赞同了该文章在 上一篇文章中,我们提到了现代 WorkManager API 对工具支持方面也进行了改进,本文我们将结合实际案例来看看具体有哪些改进。如果您更喜欢通过视频了解此内容,请在此处查看: https://www.zhihu.com/video/1479419303213027329△ Android Studio 对现代 WorkManager 的支持 从 Android Studio Arctic Fox 开始,您可以直接 在 Android Studio 内使用后台任务检查器检查和调试 Worker。
138 天前 / Android_开发者
无障碍写文章登录 Android 13 首个开发者预览版到来谷歌开发者已认证帐号 4 人赞同了该文章作者 / Dave Burke, VP of Engineering 每天,全世界都有数十亿人使用 Android 设备来完成各种事项。这些用户在使用 Android 时的优良体验离不开大家,也就是开发者社区的鼎力支持,是开发者的反馈和建议帮助我们打造出更强大的 Android。 今天,我们为大家带来 Android 的下一个版本,即 Android 13 的首个开发者预览版。在 Android 13 中,我们将继续推进一些重要的主题: 隐私和安全,以及开发者生产力。
152 天前 / 虞大胆
动手点关注干货不迷路 启动性能是 APP 使用体验的门面,启动过程耗时较长很可能导致用户使用 APP 的兴趣骤减,抖音通过对启动性能做劣化的 AB 实验也验证了其对于业务指标有影响显著。抖音拥有数亿的用户,启动耗时几百毫秒的增长就可能带来成千上万用户的留存缩减,因此,启动性能的优化成为了抖音 Android 基础技术团队在体验优化方向上的重中之重。 本文基于过往对抖音 Android 客户端做启动性能优化的实战经验总结提炼出普适性的方法论,并将该过程中沉淀的工具加以分享,希望能给大家带来一些新的思考。
162 天前 / 街道-书记撸代码
/ 今日科技快讯 / 北京时间 2022 年 1 月 17 日,我国在太原卫星发射中心用长征二号丁运载火箭,成功将试验十三号卫星发射升空,卫星顺利进入预定轨道,发射任务获得圆满成功。 / 前言 / 在过去的 12 个月内,有约 1 亿台新平板设备被激活,Chrome OS 的激活量增长了 92%,是增长速度最快的桌面平台。这意味着在平板电脑、可折叠设备和 Chrome OS 设备上,有超过 2.5 亿台大屏幕设备运行着 Android 系统,而关于可折叠设备的使用数量也在不断增长,同比增长超过 250%,因此,"大屏" 正在成为 Android 设备中一个重要且增长势头最快的细分市场。