Android Binder机制情景源码分析之Binder回调注册和反注册

我们在日常开发中,经常用到Binder来进行跨进程通信,有个比较常见的场景是向服务端注册Binder回调,比如: IActivityManager中有两个成对的方法,Client端向AMS所在的服务端注册或者反注册IProcessObserver类型的Binder回调接口 public voi...

2018-12-21 11:34:20

阅读数 154

评论数 0

Android app启动流程(Activity启动过程)【基于API26】

Android app启动流程(Activity启动过程)【基于API26】 从Launcher启动app的LauncherActivity Launcher.startActivity或者Context.startActivity【ContextImpl.startActivity ...

2018-11-14 19:58:56

阅读数 102

评论数 0

Activity工作流程原理

Step 1. Launcher.startActivitySafely Step 2. Activity.startActivity Step 3. Activity.startActivityForResult(intent, -1);   Step 4. Instrumentation...

2018-01-28 01:25:44

阅读数 824

评论数 0

Android源码中的单例模式android.util.Singleton

Android源码中的单例模式android.util.SingletonAndroid系统源码中的单例模式: 代码路径:/frameworks/base/core/java/android/util/Singleton.javapackage android.util; /** * Sing...

2017-11-28 17:03:14

阅读数 737

评论数 0

子线程真的不能更新UI吗?

主线程/UI线程真的不能更新UI吗?其实,在onResume以及onResume之前,开启一个子线程来更新UI,都有可能是会成功的,并且成功率相当大,失败的情况应该也会有,比较极端的情况下,UI线程一直霸占的CPU,子线程一直执行不到。 子线程更新UI代码如下: @Override pro...

2017-11-24 01:21:15

阅读数 192

评论数 0

Activity dispatchTouchEvent事件分发的源头

WMS获取Touch事件 —>ViewRootImpl.deliverInputEvent —>ViewRootImpl$InputStage(即ViewPostImeInputStage).deliver【这个过程不同Android版本不一样】 —>ViewRootImpl$V...

2017-11-14 11:55:22

阅读数 734

评论数 0

统计从1到N中1的个数的算法

问题: 给定一个十进制正整数N,写下从1开始,到N的所有整数,然后数一下其中出现的所有“1”的个数。例如: N= 2,写下1,2。这样,1的个数是1。 N= 12,我们会写下1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12。这样,1的个数是5。 算法a如下: ...

2017-10-16 22:19:01

阅读数 476

评论数 0

startService和bindService

startService和bindService同时调用后, 必须对应调用stop和unbind,Service才会destroy。 一个已经存活的Service被bind过,然后解绑后重新bind,Service的onBind方法可能不会再次被调用,因为intent相同:public boole...

2017-08-31 14:51:27

阅读数 211

评论数 0

Activity的启动模式,任务栈Task,intent的Flags

一、相关概念 application翻译成中文时一般称为“应用”或“应用程序”,在android中,总体来说一个应用就是一组组件的集合。而task是在程序运行时,只针对activity的概念。说白了,task是一组相互关联的activity的集合,它是存在于framework层的一个概念,控...

2017-08-02 13:43:34

阅读数 333

评论数 0

android非正常关掉应用操作--最近任务列表,应用管理

手机实测现象:(华为荣耀3C--Android4.2,魅族MX5--Android5.1) 1)  长按home键,左右滑动卡片,task的root activity的onDestroy会走 2) 长按home键, 按清除按钮,task的root Activity的onDestroy会走, 但...

2017-07-27 18:00:13

阅读数 2208

评论数 0

android最近任务列表,删除某个应用操作

1、SystemUI工程 RecentsActivity.Java     protected void onCreate(BundlesavedInstanceState) {        getWindow().addPrivateFlags(WindowManager.LayoutP...

2017-07-27 17:47:34

阅读数 1813

评论数 1

android:hint属性对TextView(或者EditText)的影响--源码分析

textView.setText("哈哈"); textView.setHint("哈哈哈哈哈哈"); hint属性对TextView(或者EditText)的影响,直接看下图: 使用上下两个TextView控件进行对比, 第一行的“哈哈哈哈哈哈哈”是作为...

2017-07-26 17:35:43

阅读数 2119

评论数 1

Callback异步回调接口

/** * 用于网络请求结果的回调的抽象类,使用该类可以保证网络请求在主线程发起,在子线程回调 * 使用的异步任务,并且保证了异步任务的创建在主线程执行 */ public abstract class Callback { private AsyncTask asyncTask; ...

2017-06-28 11:07:58

阅读数 720

评论数 0

轻量级任务队列

public abstract class TaskQueue { private Thread execThread; private List queue = new LinkedList(); public void addTask(T task) { ...

2017-06-02 11:52:40

阅读数 353

评论数 0

ListView适配器BaseAdapter之getView的原理--convertView源码分析Android5.1

ListView.setAdapter后, List中每个item,要求 adapter 调用返回一个View 。如果我们有成千上万的item要显示怎么办?为每个item创建一个新视图是不可取的!实际上Android为为我们缓存了视图。Android中有个叫做Recycler的构件,下图是他的工作...

2015-11-30 19:33:42

阅读数 1817

评论数 0

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