自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 进程间通信的经典实现探究

1. 概念 进程间通信( Inter-process communication, IPC )是指运行在不同进程中的若干线程间的数据交换。从定义中可以看到:IPC 中参与通信的进程既可以运行在同一台机器上,也允许他们存在于各自的设备环境中。若进程是跨机器运行的,则通常需要由网络连接在一起。实现方式多种多样。2. 简单实现方式原则上,任何跨进程的数据交换都可以...

2018-08-28 11:07:59 586

原创 深入分析 LayoutInflater

从一个实际例子开始通常在 Activity 的 onCreate 里,我们都会调用 setContentView 方法,看下此方法 /** * Set the activity content from a layout resource. The resource will be * inflated, adding all top-level views...

2018-08-11 19:47:59 208

原创 getSystemService 追根溯源(基于最新源码)

1. 引入实际例子首先,关于 LayoutInflater,通常我们在 ListView 的 getView 方法中经常会用到LayoutInflater.from(context).inflate(mLayoutId,null);看一下此方法的源码 /** * Obtains the LayoutInflater from the given contex...

2018-08-11 17:38:45 667

原创 Android 消息机制分析(基于最新源码)

1. ThreadLocal 简介ThreadLocal 是一个线程内部的数据存储类,通常它可以在指定的线程中存储数据。数据存储之后,只有在指定的线程中可以获取到存储的数据,对于其他线程来说则获取不到。 ...

2018-08-09 20:07:50 319

原创 从源码分析 Window 的内部机制

1. Window 的添加过程1.1 从源头开始添加一个小悬浮窗是需要通过 WindowManager 的 addView 实现的,而我们查阅官方文档发现 WindowManager 是一个接口 public interface WindowManager implements ViewManager 它的真正实现是 WindowManagerImpl ,其中有如...

2018-08-06 20:17:20 181

原创 Activity 的启动流程分析 (基于 Android 8.1 )

0. 前言Activity 组件的启动流程在 Android 8.0 版本以后得到了很大程度上的变更,很多类或方法已经废弃不用,本人参考最新源代码与指导书籍重新分析 Activity 启动流程,其中大都是自己的观点,如有错误,烦请不吝赐教。1. 启动调用作为android四大组件之一,同时也是唯一可被用户感知的部分, Activity 的作用和地位毋庸置疑,而实际开发中,我们要启动...

2018-08-04 16:03:51 2511

原创 如何正确申请SYSTEM_ALERT_WINDOW的权限

1.在清单中声明权限<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>这一步至关重要2.判定是否拥有权限//检查是否已经授予权限if (!Settings.canDrawOverlays(this)) { //若未授权则请求权限} 其中,Settings.can...

2018-08-03 13:07:14 31502

空空如也

空空如也

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

TA关注的人

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