android随笔
文章平均质量分 79
_花开满楼
这个作者很懒,什么都没留下…
展开
-
android中intent-filter的分析和具体使用用例
意图过滤器(intent-filter)由清单文件中的元素定义,嵌入在相应的应用组件里(例如元素),在元素里,你可以使用这3个元素中的一个或多个来指定接收的意图类型:在name属性里,声明接收的意图操作,值必须是操作的纯字符串,不是类常量使用一个或多个属性来声明接收的数据类型,他们表示数据uri,和MIME类型的各个部分在name属性里声明意图分类,值必须是操作的纯字符串,不是类常量翻译 2017-02-02 21:52:33 · 816 阅读 · 0 评论 -
即时通讯里android客户端心跳机制的分析和实现
最近项目中用到了即时通讯(IM)的模块,因此也就对即时通讯的长连接方式进行了研究,有了一点点自己的心得,所以写下了这篇博客。本篇博客是作者参考了他人的优秀博客和自己的一点点小感悟而写成的,如有理解不到位的地方,还望指正。 现在大多数的移动端应用都有实时得到消息的能力,简单来说,有发送消息的主动权和接收消息的被动权。 什么是主动权呢?就是客户端主动向服务器请求数据的过程(原创 2017-07-09 10:45:37 · 2469 阅读 · 0 评论 -
Android自定义View的长按事件的思考
在写自定义view的时候经常会遇到需要为其添加长按事件的情况,当然,这里分几种情况,比如该自定义view如果是继承自listView或者是gridView的话,可以直接为其建立一个长按监听器: listview.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() { @Override原创 2017-05-09 16:54:38 · 6021 阅读 · 0 评论 -
Android Handler造成的内存泄漏的分析j
在分析之前先补充下java的基本知识,与本文的分析有着重大的联系:在java中,非静态(匿名)内部类会默认隐性引用外部类对象,而静态的内部类不会引用外部类对象,注意与静态变量的区别,静态变量是会引用外部类变量的 在Android中,Handler也是造成内存泄露的一个重要的源头,主要是因为Handler属于TLS(Thread Local Storage)变量,生命周期和Activity是不原创 2017-05-08 18:49:43 · 186 阅读 · 0 评论 -
android 从全局的角度分析view的绘制机制(一)
这篇博客会从全局的角度来一步步分析view的绘制机制。 在这里先提前总结一下view的绘制流程,然后再对各个过程的源码进行分析(window,viewRoot,decorView): 1.系统启动一个Activity的同时创建一个ViewRoot实例。 2.Activity 在attach阶段生成一个PhoneWindow对象,它包含一个DecorView对象。原创 2017-05-04 09:42:32 · 251 阅读 · 0 评论 -
Android中handler消息机制中的一些细节问题
本文的编写是以博主前三篇博客为基础的,如果对handler详细机制有不理解的同学可以去参考下我的前三篇博客。 1.在handler中,为什么能实现消息的延迟发送? 是因为在enqueueMessage方法中消息是按照其发送时间进行排列的,对应的代码为:boolean enqueueMessage(Message msg, long when) { .......原创 2017-04-14 16:11:48 · 404 阅读 · 0 评论 -
Android异步消息处理机制总结
之前三篇博客,分别对android消息处理机制中涉及到的looper和handler根据源代码进行了分析,那么在这篇本博客中,我们来对android消息处理机制做一个总结。还是老惯例,直接先上示例代码。 在子线程里实现更新ui的方式大家应该都知道,但是另一种形式的更新UI大家可能比较少见,在activity中:private Handler mHandler;//全局变量@Overrid原创 2017-04-14 09:22:34 · 261 阅读 · 0 评论 -
Android中AsyncTask的介绍,示例和原理分析
默认情况下,在一个相同的android应用程序当中,其里面的组件都是运行在同一个线程里面的,这个线程我们称之为main thread,当我们通过某个组件来启动另一个组件的时候,这个时候默认是在同一个线程当中完成的。Main thread用来加载我们的ui界面,完成系统和我们用户之间的交互,并将交互的结果展示给我们用户,所以main thread 又称为ui thread。因此,在android的多原创 2017-04-18 17:27:08 · 212 阅读 · 0 评论 -
Android异步消息处理机制之handler机制
在之前分析了looper,以及实现了利用在主线程中利用重写handleMessage方法来更新ui(具体参见博主的前两篇博客),接下来我们主要来分析handler以及其post(runnable r)方法。 首先来看在post版本的异步更新ui,在Activity中:private Handler mHandler;//全局变量@Overrideprotected void onC原创 2017-04-13 17:48:17 · 219 阅读 · 0 评论 -
Android里应用程序,应用程序窗口和视图对象之间的关系
很久没更新博客了,在新博客里打算对android的view的绘制机制进行全方位分析,由于涉及到的范围相当之广(比消息机制里涉及到的还多,简直可怕),因此打算先来个总序来说清楚应用程序(activity),应用程序窗口(window)和视图对象(view)之间的关系,方便读者对接下来的博客(view的绘制)能更好地理解,这就是这篇博客的目的。 在Android里, 每一个Activity组件原创 2017-04-28 11:38:12 · 854 阅读 · 0 评论 -
Android异步消息处理机制之looper机制续
本文主要是用来填一下在上篇博客《Android异步消息处理机制之looper机制》中留下的坑,上篇博客的地址为:http://blog.csdn.net/qq_28269905/article/details/69389751,以下正文。原创 2017-04-10 14:04:42 · 302 阅读 · 0 评论 -
Android异步消息处理机制之looper机制
在android系统的应用程序中,与java程序相似,线程之间都是靠消息来驱动的,与此工作相关的是由handler,looper以及message,messagequene来完成。简单来说就是每一个线程中有且只有一个消息队列MessageQueue,利用looper来获取当前的线程和消息队列,我们可以不断向这个消息队列中添加消息Message,接着再利用handler从looper得知当前的消息队原创 2017-04-06 15:02:35 · 343 阅读 · 0 评论 -
android里序列化和反序列化的综合分析
1.什么叫做序列化与反序列化呢? java的序列化就是指把java对象转换成字节序列的过程。而java反序列化就是指把字节序列恢复为java对象的过程。 2.为什么需要序列化和反序列化 我们知道,当两个进程进行远程通信时,可以相互发送各种类型的数据,包括文本、图片、音频、视频等, 而这些数据都会以二进制序列的形式在网络上传送。那么当两个Java进程进行通信时,能否实现进程原创 2017-07-09 15:20:07 · 353 阅读 · 0 评论