
android源码解析
lywyb112
八年程序员生涯,android、跨平台、php开发,热衷于拥抱新技术
展开
-
关于解锁和锁屏
解锁、锁屏界面状态改变、锁屏(开机锁屏、时间超时锁屏、按power键锁屏)一、解锁。以划动解锁(LockScreen.java)为例 1、划动解锁触发其控件监听方法onTrigger,onTrigger方法再调用对象mCallback.goToUnlockScreen() 2、在LockPatternKeyguardView的构造函里创建一个KeyguardScr转载 2013-01-06 16:01:19 · 1991 阅读 · 0 评论 -
Android Handler 之原理分析
本文主要从几个方面分析Handler:1.分析Handler的源码2.简单介绍消息机制中几个成员:Message、MesageQueue、Lopper3. Handler、Message、MesageQueue、Lopper之间的关系一.Handler的源码分析: 上篇文章已经对Handler的使用做了介绍,这里将结合源码进行分析: 1.首先看下Handler的构造...原创 2018-12-29 16:31:48 · 2913 阅读 · 2 评论 -
Android四种启动模式结合实例分析
Android四种启动模式:一. Standard 标准模式 定义: 每次启动Activity都会创建一个新的实例入栈,无论这个实例是否存在(这是Activity默认的启动模式,如果没有设置启动模式,默认使用该模式。)。 举例: 我们在从ActivityA中点击跳转到ActivityB,再从ActivityB中跳转到ActivityB,这时候返回时需要点两次才能返...原创 2018-12-29 08:07:17 · 3164 阅读 · 0 评论 -
android View.post()分析
大家都知道每个View都有一个post()和postDelayed()方法,那么这两个方法是做什么用呢?什么时候需要用呢?我们带着这两个问题来分析一下:首先我们看下这两个方法的源码,首先看post():/** * <p>Causes the Runnable to be added to the message queue. * The runnable will b...原创 2018-12-28 13:38:49 · 6292 阅读 · 0 评论 -
Android View之事件分发
Android view的事件分发机制是开发中的一个重点,因此掌握它的真正意义是非常必要的。一.什么是view的事件分发机制呢? 将点击事件传递到具体某个view处理的整个过程,就叫做事件分发。 二.为什么要有事件分发呢? 因为Android的view是树形结构的,view可能会重叠,当点击的地方多的时候,为了解决点击事件传递给谁的时候,就要用到事件分发了,因此也可以...原创 2018-12-21 16:18:23 · 4772 阅读 · 0 评论 -
Android View之绘制流程
android view是大家实现各种漂亮ui的基础,因此对于它的重要性,就可想而知了;网上关于android view分析的文章也是非常的多,之所以还写这篇文章主要还是,通过看大家的分析和自己的理解做一个整理和记录,这样会有个更加深刻的印象。android view 有几万行的代码,本文主要针对view绘制流程的主要三个方法进行分析:测量(Measure)、布局(Layout)、绘制(d...原创 2018-12-19 16:37:15 · 4505 阅读 · 0 评论 -
联系人导入导出到SD卡
导入导出VCard的分析: 在doImprot中的方法: doImportFromSdCard(context, account);//导入到SD卡 public static void doImportFromSdCard(Context context, AccountWithDataSet account) { Intent importIntent =原创 2013-07-08 15:36:00 · 2797 阅读 · 1 评论 -
联系人导入\导出到SIM卡分析
联系人导入\导出分析:在ImportExportDialogFragment.java类中:在clickListener中对导入/导出到不同地方进行处理:import_from_sim(从SIM卡导入):执行: handleImportFromSimRequest(resId);handleImportFromSimRequest()判断单双卡,单卡直接执行:handleImp原创 2013-07-05 17:38:04 · 3176 阅读 · 0 评论 -
联系人开机自动导入SIM卡联系人分析
联系人开机自动导入SIM卡联系人功能:SimContacts就是该应用。2.在该应用中有个广播接收器类:SimStateReceiver.java } else if (Intent.ACTION_BOOT_COMPLETED.equals(action)) {//系统开机完成会发送这个广播,我们只要捕获它即可 sendPhoneBoot();} p原创 2013-07-05 17:37:17 · 3364 阅读 · 1 评论 -
系统语言改变时,输入法变成默认输入法分析
当系统的语言改变时,选择的输入法会变成默认输入法:实现的过程在:InputMethodManagerService.java中的:mContext.registerReceiver(// 这里对语言改变广播的监听。 new BroadcastReceiver() { @Override原创 2013-05-10 17:14:46 · 1765 阅读 · 0 评论 -
android开机锁屏流程分析
开机锁屏流程:首先: 手机开机时,在SystemServer类的init2()方法中会启动线程类ServerThread的run方法如下: WindowManagerService wm = null; ... try { wm.systemReady(); //调用WindowManagerService的s原创 2013-04-16 16:03:29 · 2154 阅读 · 0 评论 -
Gallery2中Menu的分析
Gallery2中的Menu分析:图库中的Menu的显示或隐藏主要在MenuExecutor.java类中的updateMenuOperation()方法中判断。通过传递过来的supported值来匹配是否显示对应Menu。这里主要分析具体某张图片menu的显示:在PhotoPage.java的updateMenuOperations()这个方法中: int support原创 2013-01-07 20:53:59 · 1094 阅读 · 0 评论 -
滑动锁屏的布局文件解析
keyguard_screen_tab_unlock.xml在MultiWaveViewFourWays控件中:handleDrawable表示最中间的图片waveDrawable表示外围一圈的图片 修改四个选项的图片: @drawable/ic_lockscreen_unlock_px @drawable/ic_lockscreen_c原创 2013-01-06 16:02:50 · 1873 阅读 · 0 评论 -
Android HandlerThread分析
之前Handler 分析的文章有分析过,子线程Thread中是不能直接使用Handler的,需要调用Looper.prepare()方法,因此Android就为我们提供了Handler和Thread结合的方法HandlerThread方法,我们先来看下HandlerThread的源码:public class HandlerThread extends Thread { int mP...原创 2019-01-02 22:59:57 · 4488 阅读 · 0 评论