EventBus 原理简析

基于eventbus:3.1.1 分析。 一.注解写法 关键字是@Subscribe 后面括号内可选参数是,threadMode表示可以选择切换到哪个线程。sticky是否粘性事件,priority表示优先级。 ThreadMode: POSTING 表示发送事件的线程,当前线程。 T...

2018-09-02 17:41:10

阅读数 241

评论数 0

Android 注解的使用 xUtils3和ButterKnife控件的注解注入对比

Java注解的定义: java注解(Annotation),是JDK1.5开始加入的源代码的一种特殊语法元信息。可以用于标注Java语言中的类、方法、变量、参数和包,然后在编译或运行时进行解析和使用,起到说明,配置的功能。注解的功能位于java.lang.annotation包中。 J...

2017-03-06 21:12:21

阅读数 1835

评论数 0

Android 耗时代码(ANR)的查找检测和分析解决 TraceView的使用手册

关于ANR:Application Not Response,意思是应用未能及时响应。 ANR有三种发生情况 前两者定义在ActivityManagerService.java里面 屏幕或按键点击后5秒内无响应 // How long we wait until we timeo...

2017-03-03 17:57:40

阅读数 4834

评论数 1

内存泄漏检测分析工具MAT(Memory Analyzer Tool)的使用

工具下载地址:https://www.eclipse.org/mat/ 首先准备一个案例demo。上次讲了经典Handler导致的内存泄漏,今天也讲个经典例子。单例造成的内存泄漏。 public class MySingleton { private static vol...

2017-02-18 14:33:21

阅读数 4238

评论数 0

AsyncTask源码解析 从AsyncTask讲到线程池

我觉得AsyncTask算是Android源码里面比较杰出的一个了.里面涉及的知识点很多,并且运用起来也很合理.   在安卓里,使用后台线程,并且需要与主线程交互的方式,最直观的就是new Thread+Handler 和 AsyncTask.. 在new Thread+Hander后,安卓...

2017-02-01 17:46:47

阅读数 378

评论数 0

android Activity启动过程 简析

概括 先简略概括一下Activity的启动过程,以下拿点击Launcher来说。 1.开始请求执行Activity,Launcher进程发送命令到AMS Launcher就是一个App,点击Launcher会隐式启动一个新的应用。所以跑的也是Activity.startActivity的流程...

2017-01-04 22:44:25

阅读数 442

评论数 0

Android 关于过度绘制的那些事儿 UI流畅度优化

检测方法 1.开发者选项 - 调试过度绘制 1.原色 – 没有被过度绘制 – 这部分的像素点只在屏幕上绘制了一次。 2.蓝色 – 1次过度绘制– 这部分的像素点只在屏幕上绘制了两次。 3.绿色 – 2次过度绘制 – 这部分的像素点只在屏幕上绘制了三次。 4.粉色 – 3次过度绘制 – 这部...

2019-04-29 02:58:20

阅读数 34

评论数 0

Android 应用界面绘制流程

上一篇文章《Android 应用界面显示流程》讲到,从Activity.setContentView(int)方法,把布局文件某xml交给了PhoneWindow,PhoneWindow把布局inflate出来附在了DecorView里,然后交给了WMS管理,WMS和AMS调度后最终把画面显示出来...

2018-03-04 22:15:56

阅读数 1185

评论数 0

Android 应用界面显示流程

Android最重要的两个模块(个人认为),线程和UI。 线程我之前写了一篇博客了,感觉还算满意。AsyncTask源码解析 从AsyncTask讲到线程池 至于UI,趁最近有空,必须得好好整理一下脑子里各种零碎的知识点+再学习学习,整理出几篇博客才行。 初探Window 相信大部分学...

2018-02-19 03:17:52

阅读数 1880

评论数 0

阿里IoT使用总结

首先得感慨下写个App比之前真的简单方便多了。 需要推送功能直接考虑集成友盟、极光、个推、小米推送、华为推送。 需要IM功能直接考虑集成环信、融云、网易云信、腾讯云通、阿里云川等这些解决方案。 这些传统功能就不谈了,连这两年崛起的直播、娃娃机、答题业务,你都能找到好几家第三方解决方案,提供完...

2018-02-14 00:13:42

阅读数 8422

评论数 0

做一个简单的共享元素Activity跳转

安卓的共享元素动画是个很给力的存在. 但是可能由于只能运行在5.0或以上的系统上,所以感觉普及率一直不高. ps.现在看到大部分共享元素动画,都是在rom内置app里看到的.很好理解,自己做的rom,当然能确定是5.0以上的.单个app开发就不是这回事了.   有些开发者会想做一些通用的库...

2017-09-03 23:18:42

阅读数 360

评论数 0

写了个Python脚本 帮助更新Android工程里面的gradle, android和依赖版本

最近学习Python, 写个脚本当练练手 功能是用来更新这几个文件   1. 更新工程目录下『./gradle./wrapper/gradle-wrapper.properties』文件的gradle版本   2. 更新工程目录下『./build.gradle』文件的android ...

2017-08-27 17:25:05

阅读数 531

评论数 0

关于RecyclerView的ItemDecoration

  之前用 ItemDecoration 一直都是用的源码里唯一附带的 DividerItemDecoration。 或者直接在每个Item里写分割线代码了。 一直没怎么管 ItemDecoration。 这段时间因为需要用到所以学习了下用法。 这个类需要继承 RecyclerView。Item...

2017-05-31 23:23:11

阅读数 187

评论数 0

CoordinateLayout 自定义Behavior 仿百度外卖效果 实践

高仿百度外卖效果 代码地址:https://github.com/yaodiwei/CoordinatorLayoutTester   真百度外卖效果     自定义Behavior一半分为两种类型 一种是重写layoutDependsOn和onDependentViewCh...

2017-04-27 01:20:52

阅读数 2009

评论数 0

一个好用的Setting开关(自定义组合控件)

      1.在attrs.xml声明好控件属性,这里控件用到了3个文字类描述属性   <?xml version="1.0" encoding="utf-8"?>...

2017-02-14 23:52:12

阅读数 893

评论数 0

Handler还需要用到弱引用(WeakReference)吗?

网上很多文章都说写Hanlder,需要用static声明为静态的,还需要用弱引用包裹构造函数传来的Activity实例。 比如这篇英文博客 http://www.androiddesignpatterns.com/2013/01/inner-class-handler-memory-leak....

2017-02-09 15:47:24

阅读数 2539

评论数 2

android binder机制 简析

学安卓Binder应该是必须了解的东西。花了几天时间阅读Google前3页的binder文章。 其中主要阅读了Gityuan的Binder系列文章http://gityuan.com/2015/10/31/binder-prepare/ 很给力,一看还是我大小米的系统工程师,膜拜膜拜。 ...

2017-01-03 22:20:10

阅读数 445

评论数 0

android 事件分发机制源码解析

首先我重新写了这了几个控件类,只是加了点打印日志,来观察里面的事件分发机制. 然后写了个布局,如图. MainActivity有dispatchTouchEvent,onTouchEvent方法 MyRelativieLayout有dispatchTouchEvent,onInter...

2016-12-25 18:12:15

阅读数 398

评论数 0

StateTool 一种好用的"空页面 错误页面 等待页面 数据页面"切换工具

先上图   如图所示,页面主要有三个模块. 空页面:表示联网成功,但是服务器没有数据可取的页面提示 错误页面:表示网络等错误的页面提示. 内容页面:就是我们正常流程显示的页面.         为了结构精简,你只需要引用一个类StateTool就行!!!!精简到没朋友.. ...

2016-12-20 00:08:37

阅读数 498

评论数 0

Android (争取做到)最全的底部导航栏实现方法

本文(争取做到)Android 最全的底部导航栏实现方法. 现在写了4个主要方法. 还有一些个人感觉不完全切题的方法也会简单介绍一下.   方法一. ViewPager + List<View> + PagerAdapter 先看activit...

2016-06-06 11:08:15

阅读数 40514

评论数 27

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