Android源码
文章平均质量分 69
木头小颖
喜欢足球的Coder
展开
-
Activity 中的root view 添加子view的大致过程
Activity是要显示界面给用户的,跟布局文件中的子View是如何添加到root view中的呢,下面总结了大致过程,详细内容可以一一分析源码,这里不做详细介绍:1.Activity调用setContentView(int layoutId)2.调用phoneWindow的setCotentView方法3.在LayoutInflater中加载layoutId视图(inflate方原创 2016-11-29 16:54:58 · 1279 阅读 · 0 评论 -
简析Scroller
起初认识Srcoller还是在ViewPager的源码中,当看到ViewPager源码了解它是如何滑动的时候,发现了Scroller的作用。Scroller是一个辅助类,根据x、y坐标,还有滑动的时间,得到滑动到某个时间的坐标,这样可以使滑动的过程显的更加平滑,而不会出现一段段位移的效果。如何使用,源码中也列出了几句话举例 下面是开始一个滑动的代码private Scroller mS...原创 2018-09-07 16:36:03 · 253 阅读 · 0 评论 -
Fragment的状态保存startActivityForResult是哪个类的方法,在什么情况下使用?
Fragment调用startActivityForResult ---> HostCallbacks . onStartActivityFromFragment ---> FragmentActivity . startActivityFromFragment FragmentActivity的startActivityFromFragment方法 public v...原创 2018-09-07 16:37:03 · 2297 阅读 · 0 评论 -
简单介绍Fragment如何依附于Activity
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 大概了解下Fragment如何依赖于FragmentActivity我们一般在FragmentActivity做有关Fragment事务处理的时候都会用到Fr...原创 2018-09-07 16:37:49 · 1149 阅读 · 0 评论 -
startActivity过程的文字讲述
startActivity分为两种,一种是从根Activity即Launcher组件启动,一种是子Activity启动。我们这里分析从Launcher启动新MainActivity的过程。Launcher组件在它自己的进程中,用户在Home界面点击某个应用程序快捷图标时会触发父类Activity的startActivity方法,实质上归根结底是调用了Activity的startActivi原创 2017-05-09 18:17:42 · 260 阅读 · 0 评论 -
Android中利用反射机制创建实例的代码
反射机制创建对象的最大优点是利用了Java语言的多态性,这样使得代码更加灵活。在观看源码的时候有这样一段代码就是典型的例子,可以借鉴:出自SystemServiceManager的startService方法,这样在SystemServer中可以动态的开启想要开启的服务。 ... ... mSystemServiceManager.start原创 2017-05-08 23:48:05 · 627 阅读 · 0 评论 -
android.util.Singleton 源码了解
Singleton单例的助手类延迟初始化。/** * Singleton helper class for lazily initialization. * * Modeled after frameworks/base/include/utils/Singleton.h * * @hide */public abstract class Singleton { pr原创 2017-04-12 22:36:22 · 1943 阅读 · 0 评论 -
ViewGroup实现的两个接口ViewParent 和 ViewManager
ViewGroup 继承了 View 实现了两个接口 ViewParent 和 ViewManager接口 ViewParent:定义了成为一个View的parent的一些“职能”,当parent 和 它的child相互影响的时候查看此类。requestLayout():当view parent 的child view layout 发生彻底改变的时候调用,这个方法将通原创 2016-12-08 15:35:08 · 1930 阅读 · 0 评论 -
Android源码用到的Flag设置标志位机制
日常编码中我们设置状态,如果是一种情形的两种状态,可以用0或者1来区分,如果是多种情形每种情形还有多个状态,我们可以利用android这套设置标志位机制,它的原理就是利用int不同位表示不同的情形,再利用这些位所包含的二进制数来代表不同的状态,这样我们就可以用一个int类型变量来表示所有的状态了。在分析之前先补习一下位运算符:& 与:11为1,就是当两者都为1时才为1。 例:1100原创 2016-11-23 12:04:50 · 4893 阅读 · 1 评论 -
RecycleBin缓存机制
用处:AbsListView的用来缓存重用的View,而缓存是通过RecycleBin来实现的。RecycleBin有两个等级的存储:ActiveViews and ScrapViews。ActiveViews是开始出现在屏幕上的view,这些view会显示当前的内容。在布局将要滑出屏幕的时候,ActiveViews将要变成ScrapViews。ScrapViews存储用过的view,这些旧v...原创 2019-01-11 00:21:10 · 672 阅读 · 0 评论