文章 2022-06-13 来自:开发者社区

Android Studio Profiler Memory (内存分析工具)的简单使用及问题分析

Memory Profiler 是 Android Studio自带的内存分析工具,可以帮助开发者很好的检测内存的使用,在出现问题时,也能比较方便的分析定位问题,不过在使用的时候,好像并非像自己一开始设想的样子。如何查看整体的内存使用概况如果想要看一个APP整体内存的使用,看APP heap就可以了,不过需要注意Shallow Size跟Retained Size是意义,另外native消耗的内....

Android Studio Profiler Memory (内存分析工具)的简单使用及问题分析
文章 2022-06-12 来自:开发者社区

Android VSYNC (Choreographer)与UI刷新原理分析

从UI控件内容更改到被重新绘制到屏幕上,这中间到底经历了什么?另外,连续两次setTextView到底会触发几次UI重绘呢?为什么Android APP的帧率最高是60FPS呢,这就是本文要讨论的内容。以电影为例,动画至少要达到24FPS,才能保证画面的流畅性,低于这个值,肉眼会感觉到卡顿。在手机上,这个值被调整到60FPS,增加丝滑度,这也是为什么有个(1000/60)16ms的指标,一般而言....

Android VSYNC (Choreographer)与UI刷新原理分析
文章 2022-06-11 来自:开发者社区

Android可见APP的不可见任务栈(TaskRecord)销毁分析

Android依托Java型虚拟机,OOM是经常遇到的问题,那么在快达到OOM的时候,系统难道不能回收部分界面来达到缩减开支的目的码?在系统内存不足的情况下,可以通过AMS及LowMemoryKiller杀优先级低的进程,来回收进程资源。但是这点对于前台OOM问题并没有多大帮助,因为每个Android应用有一个Java内存上限,比如256或者512M,而系统内存可能有6G或者8G,也就是说,一个....

Android可见APP的不可见任务栈(TaskRecord)销毁分析
文章 2022-06-10 来自:开发者社区

Android窗口管理分析(4):Android View绘制内存的分配、传递、使用

前文Android匿名共享内存(Ashmem)原理分析了匿名共享内存,它最主要的作用就是View视图绘制,Android视图是按照一帧一帧显示到屏幕的,而每一帧都会占用一定的存储空间,通过Ashmem机制APP与SurfaceFlinger共享绘图数据,提高图形处理性能,本文就看Android是怎么利用Ashmem分配及绘制的:View视图内存的分配前文Window添加流程中描述了:在添加窗口的....

文章 2022-06-10 来自:开发者社区

Android窗口管理分析(3):窗口分组及Z-order的确定

在Android系统中,窗口是有分组概念的,例如,Activity中弹出的所有PopupWindow会随着Activity的隐藏而隐藏,可以说这些都附属于Actvity的子窗口分组,对于Dialog也同样如此,只不过Dialog与Activity属于同一个分组。之间已经简单介绍了窗口类型划分:应用窗口、子窗口、系统窗口,Activity与Dialog都属于应用窗口,而PopupWindow属于子....

Android窗口管理分析(3):窗口分组及Z-order的确定
文章 2022-06-10 来自:开发者社区

Android窗口管理分析(2):WindowManagerService窗口管理之Window添加流程

本文基于Android6.0。WindowManagerService只负责窗口管理,并不负责View的绘制跟图层混合,本文就来分析WMS到底是怎么管理窗口的。初接触Android时感觉:Activity似乎就是Google封装好的窗口,APP只要合理的启动新的Activity就打开了新窗口,这样理解没什么不对,Activity确实可以看做一种窗口及View的封装,不过从源码来看,Activit....

Android窗口管理分析(2):WindowManagerService窗口管理之Window添加流程
文章 2022-06-10 来自:开发者社区

Android窗口管理分析(1):View如何绘制到屏幕上的主观理解

窗口管理可以说是Android系统中最复杂的一部分,主要是它涉及的模块比较多,虽然笼统的说是窗口管理,其实,除了WindowManagerService还包括SurfaceFlinger服务、Linux的共享内存及tmpfs文件系统、Binder通信、InputManagerService、动画、VSYNC同步技术等,一篇文章不可能分析完全,但是可以首先对于窗口的显示与管理有一个大概的轮廓,再分....

Android窗口管理分析(1):View如何绘制到屏幕上的主观理解
文章 2022-05-13 来自:开发者社区

Android ANR分析(trace文件的产生流程)

ANR信息获取(trace文件的产生流程)首先收集需要dump trace的进程并给对应进程发送dump trace的信号接着分析最后一步向收集到的进程发送信号首先收集需要dump trace的进程并给对应进程发送dump trace的信号1.当一些带有超时机制的系统消息(如:Service的创建)判定超时后,会调用系统服务AMS接口,收集ANR相关信息并存档(data/anr/trace, d....

Android ANR分析(trace文件的产生流程)
文章 2022-05-10 来自:开发者社区

Android嵌套滑动机制分析

本文大纲1. 嵌套ScrollView同向滑动2. 传统事件分发和嵌套滑动事件分发3. NestedScrollingChild和NestedScrollingParent4. NestedScrollingChildHelper和NestedScrollingParentHelper5. 结合案例讲解嵌套滑动事件分发顺序1. 嵌套ScrollView同向滑动所谓嵌套ScrollView同向滑动....

Android嵌套滑动机制分析
文章 2022-05-09 来自:开发者社区

一个快速分析android app使用了哪些sdk的工具

前段时间我们要准备开始做移动端广告sdk,我需要了解市面上一些常用的广告sdk使用情况。如果一个个app去分析,那工作量会非常庞大,所以就产生了这个工具AnalysisApp。通过这个工具我已经分析了top 200个app,并可以识别出99个sdk。能够识别的sdk列表要是时间充裕,我会不断完善这个项目。github地址:https://github.com/fengzhizi715/Analy....

一个快速分析android app使用了哪些sdk的工具

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

mPaaS 移动开发平台

mPaaS 源于蚂蚁集团金融科技,为 App 开发、测试、运营及运维提供云到端的一站式解决方案,致力于提供高效、灵活、稳定的移动研发、管理平台。 官网地址:https://www.aliyun.com/product/mobilepaas/mpaas

+关注