自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

王智博

think and code

  • 博客(13)
  • 收藏
  • 关注

原创 在Android中你用过动态代理吗?Java动态代理原理解析(附github源码)

前言如果我们是做SDK开发,最常用的架构就是MVC。在MVC中,我们经常会提供给外部C,用于让外部调用我们SDK暴露的功能。如果我们的V,要添加一个按钮,或者V的视图滑动事件,要提供给C去暴露出去,V和C基本要同时写2个方法,比如addButton(Button btn)。这个时候我们发现问题了,每次我们要去提供V、M的功能暴露出去,就要同时去C里面实现一个方法。那有没有一个方法能够让V、...

2019-01-28 14:43:32 1056

原创 基于AIDL的 Activity、Service跨进程观察者模式实现与源码解读(附github源码)

前言上篇文章最简单的Activity、Service使用、通信指南二(AIDL进程间通信)(附github源码),介绍了怎么使用AIDL文件,实现在跨进程环境下,Activity获取Service中每秒递增的num并展示的过程,并简单讲解了下AIDL文件的构成(Stub,Proxy),并留下了3个问题。1.这个Stub.Proxy何许人也?为啥能够和远端Binder通信?2.为啥同进程...

2019-01-27 17:56:25 1026 2

原创 5分钟告诉你,Activity的视图绘制流程(onMeasure、onLayout、onDraw的调用和参数解释)

本篇主要面对有一定Android基础的同学,但是Android初学者的话,也不要急。在网上可以看到很多文章,会告诉你onMeaure是什么?里面的参数是什么意思?会教你怎么获取MeaSpec的size和mode(Unspecified、Exactly、AtMost)。也会告诉你怎么重写 onLayout,怎么使用layout方法去布局子元素,怎么实现流式布局,自动换行。还有会告诉你重写onDraw...

2019-01-26 13:58:18 2470

原创 我的Android学习之旅(持续更新中...)

为什么写这个博客?楼主写这个博客是为了把平时学习中、开发中遇到的一些重要的问题记录下来,然后可以分享给其他人,大家一起学习。楼主也是从初学者开始学习Android,博客中文章从初学者到进阶原理的讲解都有涵盖,同时为了摆脱枯燥的代码讲解,楼主把代码统一提交到了github:https://github.com/samwangzhibo/LoveStudy(不会使用github导入代码的同学...

2019-01-25 16:36:08 1204

原创 从源码角度分析Activity的生命周期时序怎么触发的(onCreate onStart onResume onPause onStop onDestroy)(附测试代码)

【转载请注明出处:5分钟告诉你,Activity的生命周期怎么触发的(onCreate onStart onResume onPause onStop onDestroy)(附测试代码) CSDN 王智博】前言试想一下,如果从Activity A 跳转到Activity B,A和B的生命周期分别是怎么过的?我们初学Android时候都接触过声明周期,当时给的解释是,onCreate是A...

2019-01-25 16:00:25 2705

原创 走进源码pipe、epoll,Android面试最常见Handler、Looper、Message问题总结与解答

【转载请注明出处:走进源码,Android面试最常见Handler、Looper、Message问题总结与解答CSDN王智博】今天楼主以面试的角度,走进源码,去探索Handler、Handler、Looper、Message的奥秘。随着各种网络框架的普及,线程之间的通信再也不需要我们手动的创建Handler,然后handleMessage了,但是当我们想要创建一个主线程延时任务的时候,...

2019-01-16 22:25:20 3457 5

原创 Weex原理解析

前言:weex是阿里出的一款跨端的开发框架,今日我开发功能需要使用到jscore,调研了github的开源项目LiquidCore,因为其项目依赖node.so,即使我只打arm_v7a的包,也需要7M,这对我们的app来说还是太大了。又因为我们项目已经使用了weex,那么我就在想能不能直接使用weex的jscore呢?能调用,但是太依赖于weex了。所以这篇还是来分析weex的原理吧。...

2019-01-29 21:43:33 2574

原创 你真的知道onClick是如何触发的吗?onTouch又是什么?

前言:占坑中。。。    完整Android学习路径 请戳我的Android学习之旅(持续更新中...)从源码角度分析Activity的生命周期怎么触发的(onCreate onStart onResume onPause onStop onDestroy)(附测试代码)基于AIDL的 Activity、Service跨进程观察者模式实现与源码解读走进源码,A...

2019-01-26 17:21:41 564

原创 我的Android事件分发私房菜

这篇主要是分成2部分,一部分是Android事件的来源,一部分是事件是怎么在父View和子View中传递的。【转载请注明出处:我的Android事件分发私房菜  CSDN 王智博】正片 参考Android中MotionEvent的来源和ViewRootImplAndroid事件分发机制——ViewRootImpl篇(前传)...

2019-01-25 16:50:36 139

原创 最简单的Activity、Service进程间 AIDL通信指南二(附github源码)

前言上篇文章最简单的Activity、Service使用、通信指南一(进程内通信)(附github源码)最后提到,如果把Service设置为其他进程,那么我们使用自定义binder的方式返回的binder对象并不是我们自定义的binder对象,那样强制转换就报错误了。那么为什么同一进程返回的是自定义binder对象,而跨进程返回的却不是自定义binder对象?BinderProxy是什么东...

2019-01-23 15:54:53 479

原创 最简单的Activity、Service通信指南一(进程内通信)(附github源码)

本篇是要介绍activity和service的通信的使用,通过一个小例子实现了activity获取service的数据并展示。我们知道activity和service(默认)都是在一个进程和主线程里面,这篇主要是介绍同一进程的activity和service的通信。聪明的你肯定知道了不同进程的activity和service的通信实现会有差别。【转载请注明出处:最简单的Activity、S...

2019-01-23 14:33:42 665

原创 github Android代码下载并导入工程(android studio)

前言github是一个存放众多开源项目的平台,对于我们android开发来说,看别人的代码是学习的最好方式。前面的文章我已经写了一个Handler、Looper、Message的最简单使用文章(附源码),这篇文章我针对这个项目来讲一下,对于新手来说怎么使用github这个平台来下载代码,学习知识提升自己第一步我们点开github地址 https://github.com/samwa...

2019-01-17 00:22:58 2835

原创 最简单的Handler、Looper、Message使用指南一(附github源码)

前言什么是子线程?什么是主线程?为什么需要使用Handler?子线程和主线程怎么通信?主线程是我们程序进程在创建的时候,调用ActivityThread的main入口,Looper.prepareMainLooper创建消息队列,接受activity 、window等消息,包括视图渲染。我们知道Android的界面绘制是1秒钟60帧,也就是1000/60=16ms绘画一帧,如果我们有一...

2019-01-16 23:45:03 634

空空如也

空空如也

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

TA关注的人

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