自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(6)
  • 收藏
  • 关注

原创 Android framework--谈谈AMS.updateOomAdjLocked

关于Android系统的内存回收机制,相信大家都不陌生,Android基于各个应用进程承载四大组件的状态对应用进程进行重要性评估,并在系统内存紧张时根据重要性由低到高来选择杀死应用进程,以达到释放内存的目的。重要性评估由AMS执行,具体来说就是AMS.updateOomAdjLocked函数,反过来说,AMS.updateOomAdjLocked的作用就是更新应用进程的重要性。应用进程(Pro...

2018-05-14 17:41:00 3164 1

原创 Android Framework--谈谈bindService

对应用开发者而言,bindService调用肯定是耳熟能详,本文将介绍framework如何表示和组织绑定关系,通过背后原理的分析来加深对Service的理解,除此之外,大家也能领略到框架代码是如何设计并带来一些启发。本文旨在理清主要的设计思路,并不会对所有细节展开描述,代码来自Android N。bindService基本点让我们回顾下bindService相关的知识点,这里以在Ac...

2018-05-04 16:26:19 590

原创 Android Framework--系统动画

这里之所以要说“系统”动画,是为了跟APP开发中的动画区分开,注意它们的原理是一样的,用到的都是android.view.animation.Animation类,这里主要从以下两个方面来区分出“系统”动画:动画由谁来施加和步进动画的目标什么是系统动画做过APP开发的童鞋都知道下面知识点:Activity切换的时候有“切换动画”,可以自行定制窗口切换的时候有“窗口动画

2017-11-01 17:25:06 3054 4

原创 Android Framework--转屏原理

本文带你从framework的视角了解转屏从产生到结束这一过程,应用开发中转屏相关的知识点已经有很多现成的资料,不在这里的讨论范围。转屏的流程非常简单,如下: 下面将分为三个阶段进行讨论。转屏的产生框架利用一定的策略来确定当前的屏幕方向,依据主要是窗口的screenOrientation,以及其它的一些状态,比如系统是否开启了屏幕旋转、系统是否固定了屏幕方向、是否处于dock模式等。在讲如何确定屏

2017-10-11 10:43:00 3724 5

原创 Android N中SurfaceView泄露的问题分析

最近遇到一个bug,现象为SurfaceView的Layer没有销毁,导致屏幕上一直显示该Layer。觉得该案例有点意思,故在此记录下分析过程及解决方法,供有一定framework基础的Rom开发人员参考。现象分析过程首先最直接相关的模块是SurfaceFlinger,既然能看到,应该存在该Layer并且进行了合成,否则这里就有问题,用如下命令dump状态信息:

2017-06-05 23:53:21 13193 1

原创 Android N 多窗口的设计

Android从N(7.0)开始正式支持了多窗口(分屏),所谓多窗口,通俗来讲,就是同一时刻,用户可以看到一个以上的应用界面并与之进行交互,这就跟我们平常使用PC的操作系统一样,可以极大地提高操作效率,这对于大屏幕的手持设备来讲更为重要。本文将讲解分屏的架构设计,旨在从一个比较高的角度将原生的分屏原理讲的通俗透彻。因本文不会对一些Android的基础知识展开描述,请自行补足Activity、Wind

2017-05-09 20:24:12 1362 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除