Android进阶学习有哪些知识点

发布时间:2020-07-29 12:50:39 作者:Leah
来源:亿速云 阅读:171

本篇文章给大家分享的是有关Android进阶学习有哪些知识点,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

一、Binder

1、介绍Binder

BinderAndroid中特有的IPC方式。基于BinderAndroid还实现了其他的IPC方式,比如AIDLMessengerContentProviderBinder的优点在于效率高、安全性好。

2Binder的通信过程

Android进阶学习有哪些知识点

1ServerService Manager中注册:Server进程在创建的时候,也会创建对应的Binder实体,如果要提供服务给Client,就必须为Binder实体注册一个名字。

2Client通过Service Manager获取服务:Client知道服务中Binder实体的名字后,通过名字从Service Manager获取Binder实体的引用。

3Client使用服务与Server进行通信:Client通过调用Binder实体与Server进行通信。

二、 序列化

Android的序列化方式:为了解决Android中内存序列化速度过慢的问题,Android使用了Parcelable

Android进阶学习有哪些知识点

三、Framework

1App的启动过程

1ActivityThread:依赖于Ui线程,实际处理与AMS中交互的工作。

2ActivityManagerService:负责ActivityService等的生命周期工作。

3ApplicationThreadSystem Server进程中ApplicatonThreadProxy的服务端,帮助System Server进程跟App进程交流。

4System ServerAndroid核心的进程,掌管着Android系统中各种重要的服务。

2Apk安装的主要步骤

1)将apk文件复制到data/app目录

2)解析apk信息

3dexopt操作

4)更新权限信息

5)完成安装,发送Intent.ACTION_PACKAGE_ADDED广播

四、Context

1、概念

不论是Android小白还是经验丰富的Android开发者,对Context都不会陌生。在加载资源、启动一个新的Activity、获取系统服务、获取内部文件(夹)路径、创建View操作时等都需要Context的参与,可见Context的常见性。Context字面意思上下文,或者叫做场景,也就是用户与操作系统操作的一个过程。

2Context的应用场景

Android进阶学习有哪些知识点

五、Android性能优化

性能优化是Android进阶学习的一个重要知识点。关于Android的性能优化我们可以从布局、绘制、内存优化

1)布局优化

如果父控件有颜色,也是自己需要的颜色,那么就不必在子控件加背景颜色;如果每个自控件的颜色不太一样,而且可以完全覆盖父控件,那么就不需要再父控件上加背景颜色;尽量减少不必要的嵌套;能用LinearLayoutFrameLayout,就不要用RelativeLayout,因为RelativeLayout控件相对比较复杂,测绘也想要耗时。

2)绘制优化

一方面onDraw方法中不要做耗时的任务,也不做过多的循环操作,特别是嵌套循环,虽然每次循环耗时很小,但是大量的循环势必霸占CPU的时间片,从而造成View的绘制过程不流畅。另一方面,除了循环之外,onDraw()中不要创建新的局部对象,因为onDraw()方法一般都会频繁大量调用,就意味着会产生大量的零时对象,不进占用过的内存,而且会导致系统更加频繁的GC,大大降低程序的执行速度和效率。

3)内存优化

内存泄漏指的是那些程序不再使用的对象无法被GC识别,这样就导致这个对象一直留在内存当中,占用了没来就不多的内存空间。因为有内存泄漏,所以内存被占用越来越多,那么GC会更容易被触发,GC会越来越频发,但是当GC的时候所有的线程都是暂停状态的,需要处理的对象数量越多耗时越长,所以这也会造成卡顿。那么我们就可以针对集合类泄漏、单例/静态变量造成的内存泄漏 、匿名内部类/非静态内部类、以及资源未关闭造成的内存泄漏做出相应得策略。

以上就是Android进阶学习有哪些知识点,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注亿速云行业资讯频道。

推荐阅读:
  1. Oracle进阶学习之创建dblink
  2. python进阶学习路线(全)

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

android roi

上一篇:网络工程师成长之路之工作的事

下一篇:用Python写猜数字游戏的方法

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》