
android点滴
文章平均质量分 67
Ricky_Ling
负阴抱阳,知行合一。
展开
-
Android Activity的启动流程分析
Android Activity的启动流程分析在应用中我们启动一个Activity,一般情况都是通过调用startActivity()。本文也是针对这个作为入口去探索Activity的启动流程。如今google和度娘一搜Activity启动流程,可以说是泛滥成灾了。虽然这样,但始终是别人的理解和总结,所以自己看了源码后也记录下收获。不闲扯~~~咱直接入正题:上个图! 上图可以让我们对...原创 2018-03-31 15:37:26 · 595 阅读 · 0 评论 -
Android中AsyncTask的执行过程
AsyncTask是由Android提供的一个轻量级的异步类,其内部分封装了线程池和Handler。相信绝大多数的Android开发者都接触过它,简单粗暴的就实现了异步网络请求,UI更新。在开始源码分析执行过程前,先看一张图,主要抽取了执行过程中比较关键的几个属性。下面开始进行源码的分析,先从一段简单的示例代码开始。public class MainActivity extends AppComp原创 2017-10-27 17:46:23 · 1715 阅读 · 6 评论 -
Android dp和px的转换
Android dp和px的转换 在android开发中,布局中一般使用dp作为单位,很多时候需要使用px,这时就需要通过代码中转换。无事记录下,说不定哪天脑子短路,忘了怎么写,还可以翻翻。(^▽^) public class DensityUtil { //dp转px public static int dip2px(Context contex原创 2017-09-01 12:17:04 · 501 阅读 · 0 评论 -
Android布局加载优化之懒汉模式-ViewStub
Android布局加载优化之懒汉模式-ViewStub 谈到布局优化,通常都会想到标签include和merge。简单先说下这两个标签的好处:include可以减少布局文件内容,比如,在我们需要在多个布局中都添加标题栏时,可以创建一个单独的xml文件,添加标题内容到该xml中,然后在需要用到的目标布局里面用include标签添加已创建好的标题栏;merge可以减少多余的包含控件。两者一起使用,可原创 2017-09-17 15:12:37 · 1135 阅读 · 0 评论 -
Android Activity启动模式分析
Android Activity启动模式分析standard 标准启动模式singleTop 栈顶复用模式singleTask 栈内复用模式singleInstance 全局单例模式standard 标准启动模式 该模式也是Android中activity默认的启动模式,每次启动目标activity时,都会创建一个新的实例,添加到当前的Task中,看下图:原有栈中含有A-B-C三个ac原创 2017-09-16 10:36:14 · 978 阅读 · 0 评论 -
Android View的事件分发
View的事件分发机制: 分析的对象 MotionEvent: 表示点击事件, 例如Action_DOWN、Action_UP、Action_MOVE等事件的传递过程: dispatchTouchEvent: 事件分发 (事件能否传递给当前View)onInterceptTouchEvent : 事件拦截(是否拦截事件)onTouchEvent :原创 2017-06-17 21:58:32 · 569 阅读 · 0 评论 -
android蓝牙和串口模块的通信
android蓝牙和串口模块的通信 最近一段时间研究了下android端和蓝牙串口模块间的通信,废话不多说,直接屡一屡思路和撸代码手机端蓝牙的搜索和串口模块间的配对最后就是数据的传输了蓝牙的搜索1、通过广播方式接收蓝牙的搜索结果,注册相应的广播 IntentFilter filter = new IntentFilter();filter.addAction(BluetoothDevic原创 2016-09-21 16:52:08 · 1634 阅读 · 0 评论 -
android 实现自由移动的悬浮按钮
android 实现自由移动的悬浮按钮实现原理 主要是通过android中的WindowManager中的addview()把view加载进来,设置WindowManager.LayoutParams windowManagerParams的相关属性,例如x,y;在view的onTouchEvent中改变x,y从而实现悬浮按钮的自由移动1、自定义一个类FloatView继承自ImageViewpu原创 2016-09-22 10:50:57 · 7533 阅读 · 5 评论 -
Android中进程间的通信之Messenger
Android中进程间的通信之Messenger谈到android中的IPC机制,很多人都会先想到AIDL,这里要讲的是Messenger ,利用Messenger 可以简单的实现进程间的通信。通过发送消息到handler,它是基于消息的跨进程通信。 1、先写一个服务端MessageService,并且在新开启一个进程,在onBind()中通过Hmessage对象获取binder.package原创 2016-09-28 15:52:01 · 731 阅读 · 0 评论 -
Android 6.0后的权限问题
Android 6.0后权限的动态申请1、做蓝牙开发时遇到一个问题,在安卓6.0系统中运行时,发现蓝牙搜索后并没有显示任何的设备信息,然后去查了下资料,发现在6.0以后的需要添加下面两个权限。 <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:原创 2016-09-30 18:08:51 · 925 阅读 · 0 评论 -
从源码角度分析 — Handler原理
在分析消息机制Handler之前,我们先了解下ThreadLocal这个类,ThreadLocal是一个线程内存的数据存储类。它的作用是为变量在每个线程中存储了一个副本,反过来说就是:为使用该变量的线程提供了独立的变量副本。参考一段示例代码:private static final ThreadLocal<Integer> threadLocal = new Threa...原创 2018-04-16 21:10:59 · 323 阅读 · 0 评论