- 博客(16)
- 资源 (316)
- 收藏
- 关注
原创 wifi连接流程
在平时的android开发中,经常会用到wifi相关操作,其实就应用而言,系统都是通过WifiManager对应的api来进行对应的操作 我们可以从源码的frameworks/base/api目录中看到当前系统提供的所有apipublic class WifiManager { method public int addNetwork(android.net.wifi.WifiConfig
2016-11-27 22:05:12 5711
原创 Intent的匹配与查找
PMS解析已安装的apk信息在Android中getSystemService流程一文中,我们知道系统在启动的时候 会加载系统Service,比如ActivityManagerService,PackageManagerService等, PMS启动以后,会扫描系统中所有已安装apk的目录,比如系统 应用”/system/app”,第三方应用”/data/app”,PMS会解析该包下的所有And
2016-11-14 21:44:03 1577
原创 WindowManagerService添加View流程
我们都知道在android中所有的界面显示相关的,都是通过WindowManager.addView方法来将当前需要显示的View添加到window中。Window与WindowManager之间的关系WindowManager的实现类就是WindowManagerImpl:@Overridepublic void addView(@NonNull View view, @NonNull View
2016-11-13 21:44:40 3786 1
原创 Toast流程跟踪
构造一个Toast看下makeText方法public static Toast makeText(Context context, CharSequence text, @Duration int duration) { Toast result = new Toast(context); LayoutInflater inflate = (LayoutInflate
2016-11-22 21:33:31 2888
原创 View的相关总结
View的绘制流程View的绘制流程是从ViewRootImpl#performTraversals方法开始的,在performTraversals中会分别通过performMeasure,performLayout,performDraw这三个方法来绘制一个View 具体可以参考setContentView那些事 measure: 用来测量当前View的宽度和高度layout: 用来确定
2016-11-21 22:08:18 742
原创 Android中APN的创建流程
APN全称是Access Point Name,是手机上网必须要配置的一个参数,用来决定手机是通过哪一种接入方式来访问网络,若APN缺少,4G、3G等移动网络异常!从ApnSettings开始,当点击新建apn的时候,回调onOptionsItemSelected方法@Overridepublic boolean onOptionsItemSelected(MenuItem item) {
2016-11-20 16:03:02 7889 1
原创 ContentProvider的工作过程
ContentProvider是一种共享型组件,它通过Binder向其他组件或者其他应用程序提供数据,当ContentProvider所在进程启动时候,ContentProvider会被 同时启动并被发布到AMS中,需要注意的是:ContentProvider的onCreate要优先于Application的onCreate而执行。ContentProvider的初始化过程Applicati
2016-11-20 10:05:54 3871
原创 Android屏幕亮度调节
平时通过一个slider调节改变屏幕亮度,其实这个slider是systemui的东西,叫做BrightnessDialogpublic class BrightnessDialog extends Activity { .... private BrightnessController mBrightnessController; @Override prote
2016-11-15 22:19:38 3647 4
原创 深入理解LayoutInflater
探究LayoutInflater的实现类##在android程序员写代码的时候,很多时候会用到LayoutInflater来加载指定的布局:LayoutInflater inflater = (LayoutInflater)context.getSystemService (Context.LAYOUT_INFLATER_SERVICE);// 或者通过from(Context co
2016-11-12 22:38:02 4087
原创 Service启动流程
startService流程@Overridepublic ComponentName startService(Intent service) { warnIfCallingFromSystemProcess(); return startServiceCommon(service, mUser);}private ComponentName startSer
2016-11-11 22:35:46 2520
原创 Android中广播注册与接收流程
当我们通过registerReceiver注册广播的时候,其实是使用的Context来注册的,前面”activity启动流程”,我们已经知道Context的实现类是ContextImpl,所以广播的注册是从ContextImpl中开始的广播的注册流程@Overridepublic Intent registerReceiver(BroadcastReceiver receiver, IntentF
2016-11-11 22:20:16 2553
原创 setContentView那些事
刨根问底setContentView在平时的android开发中,经常会使用到Activity#setContentView方法来设置我们自己的布局,那么setContentView中到底做了什么,我们的布局 是怎么加载并显示到手机屏幕上的,这就是今天要讨论的内容,看下Activity#setContentView方法public void setContentView(@LayoutRes in
2016-11-08 20:44:07 2532
原创 Android中APK的安装流程
这篇文章,来学习apk的安装流程,在开始之前,先看看我们在APP中是通过下面代码来安装apk的Intent intent = new Intent(Intent.ACTION_VIEW);intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);intent.setDataAndType(Uri.parse("file://" + path),"applica
2016-11-07 22:34:46 8509 1
原创 Android中getSystemService流程
在平时的android开发中,我们经常会通过Context来获取系统服务,比如ActivityManagerService,AccountManagerService等系统服务,今天我们就来看下getSystemService(String name)的整个调用流程。找到Context的实现类打开Context类,可以看到Context是一个抽象类,那么getSystemService一定是在其实现
2016-11-05 22:04:37 13513 1
原创 Activity启动流程
从今天开始,正式开始framework学习,深入理解和记录学习framework的相关笔记。好了废话不多说,android开发中常用的api有很多,今天我们从一个startActivity说起,记录activity的启动流程,能力有限,若有不对的地方,敬请大伙指教,提前谢过。 ActivityManagerService和ActivityStack位于同一个进程中,而ApplicationThr
2016-11-04 22:16:10 2967
原创 SEAndroid相关总结
有时候会遇到selinux相关的问题,今天来做一下总结:打开和关闭selinux功能 如果出现了selinux相关的权限拒绝,则在kernel log 或者android log中都有对应的”avc: denied”,当然也可能和selinux的模式有关系,我们需要首先要确认当时SELinux 的模式, 是enforcing mode 还是 permissve mode.如果问题容易复现,我
2016-11-03 22:22:24 1703
android实现字体变色
2015-10-28
android实现画板功能
2015-10-27
android实现自定义圆形图片
2015-10-27
android自定义进度条
2015-10-27
html5关于indexdb简单demo
2015-09-26
html5学习canvas代码
2015-09-19
html5离线缓存简单demo
2015-09-13
android增量升级
2015-08-16
maven聚合和继承
2015-08-09
手动创建maven工程
2015-08-05
android5.0新特性学习
2015-07-25
jnidemo调用
2018-07-22
爬虫获取并下载豆瓣图片
2017-01-15
Android hook AMS PMS
2017-01-02
二进制权限控制
2016-03-07
android防美拍点赞效果
2016-02-14
material design demo
2016-02-11
android悬浮窗口显示内存使用
2016-02-08
reactnative使用原生模块
2016-01-31
android实现水波进度
2015-11-13
android自定义加载动画
2015-11-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人