自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 ContentProvider跨进程注册、启动流程源码解析

As we all know,ContentProvider这个组件只能进行静态注册,要跟这个组件讲道理,就必须从它的静态注册讲起。而ContentProvider的静态注册是从AndroidManifest.xml解析出来的,当然其他组件也是解析后完成注册的。解析是一个很大的工作量,所以Android系统特地提供了一个PackageManagerService(缩写,PMS)类负责解析工作,它继...

2019-02-14 19:49:09 663

原创 BroadcastReceiver的跨进程注册、接收流程源码解析

根据《Activity启动流程源码探究》我们可以清楚以下几点:1)Context的通用实现是在ContextIml这个类中2)Activity的启动过程需要借助ActivityManagerService(AMS)这个服务端来完成,其本质是通过Binder通信3)Binder通信使用了2次,第一次Context作为客户端向AMS发起start请求,第二次AMS作为客户端向IApplicati...

2019-01-24 17:40:07 678 1

原创 Service通过onBind跨进程启动流程源码探究

根据《Activity启动流程源码探究》我们可以清楚以下几点:1)Context的通用实现是在ContextIml这个类中2)Activity的启动过程需要借助ActivityManagerService(AMS)这个服务端来完成,其本质是通过Binder通信3)Binder通信使用了2次,第一次Context作为客户端向AMS发起start请求,第二次AMS作为客户端向IApplicati...

2019-01-22 15:43:38 1012 1

原创 Service跨进程启动流程源码探究

根据《Activity启动流程源码探究》我们可以清楚以下几点:1)Context的通用实现是在ContextIml这个类中2)Activity的启动过程需要借助ActivityManagerService(AMS)这个服务端来完成,其本质是通过Binder通信3)Binder通信使用了2次,第一次Context作为客户端向AMS发起start请求,第二次AMS作为客户端向IApplicati...

2019-01-21 17:44:04 432 1

原创 Activity跨进程启动流程源码探究

Activity的中文翻译是活动,活动的发起当然是需要一定的场景Context的,那么我们就从context#startActivity这个时刻开始分析~1. Context的那些事儿鉴于本文分析使用的Mac Pro + API26,这里就通过Command + SHIFT + O快捷键输入Context.java可以直接打开目标文件了,点击右侧的Structure标签,按字母表排序可以很清楚...

2019-01-18 21:03:42 16958 1

原创 Android使用RecyclerView和StaggeredGridLayoutManager实现瀑布流效果-标签

9. 实现ItemView的标签效果我们在使用电商平台软件的时候,总会看到商品下面会有一些友好提示:打折、双11活动节、打折、满减、自营。这样醒目的字眼,总是吸引我们去消费,他们为月底的花呗额度做出了必要的贡献。它的实现,倒是没什么稀奇的,无非是线性布局LinearLayout结合文本TextView展示的效果。9.1分析效果图...

2019-01-18 15:19:33 912 1

原创 Android使用RecyclerView和StaggeredGridLayoutManager实现瀑布流效果-装饰

8、实现StaggeredItemDecoration定制分割线

2018-12-09 18:05:13 3355

原创 Android使用RecyclerView和StaggeredGridLayoutManager实现瀑布流效果-实现

经过构建基础代码框架、创建StaggeredAdapter适配器、实现空界面效果之后,瀑布流的实现只是一个在StaggeredAdapter中添加ViewType类型的问题,这个类型就是FORMAL_ITEM对应正常的服务器数据,当然创建新的ViewHolder也是必须的。7、实现StaggeredFormalViewHolder完成正常数据展示...

2018-12-09 18:04:07 3928 1

原创 Android使用RecyclerView和StaggeredGridLayoutManager实现瀑布流效果-空实现

5、实现RecyclerView的适配器StaggeredAdapterrecyclerView的Adapter是完成数据缓存和装载功能的。官方解释如下:Adapters provide a binding from an app-specific data set to views that are displayed within a {@link RecyclerView}.翻译...

2018-12-09 18:03:03 2563

原创 Android使用RecyclerView和StaggeredGridLayoutManager实现瀑布流效果-引子

1、瀑布流概述    淘宝、京东商城等电商平台的首页在下滑刷新的过程中会出现左右不对齐的情况,这种情况的产生主要是由商品类型决定的。不同类型的商品决定了不同的展示方式,一般情况下会通过自营、满减、满折等标签+价格+描述呈现。鉴于商品的多样性和展示的复杂性,会造成不同的商品单位高低不一的问题,这就是我们要讲的瀑布流的概念。2、瀑布流实现步骤搭建Android开发平台创建项目并引入相关依赖包...

2018-12-09 18:01:06 2420

空空如也

空空如也

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

TA关注的人

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