Android中MotionEvent的来源和ViewRootImpl

前言很久没有发表文章了,今天来一篇,大家撒花~~~本文打算分析下Android中点击事件的来源,顺便提及下ViewRootImpl。Android中点击事件的来源这个问题,也许你会说“这还用你说吗?我可是看过艺术探索的人”,我知道艺术探索中的确是详细介绍了点击事件的传递流程,反正大致就是点击事件从Activity传递给PhoneWindow,然后PhoneWindow再传递给DecorView,接着...
阅读(22590) 评论(35)

Android的消息机制之ThreadLocal的工作原理

提到消息机制大家应该都不陌生,在日常开发中不可避免地要涉及到这方面的内容。从开发的角度来说,Handler是Android消息机制的上层接口,这使得开发过程中只需要和Handler交互即可。Handler的使用过程很简单,通过它可以轻松地将一个任务切换到Handler所在的线程中去执行。很多人认为Handler的作用是更新UI,这说的的确没错,但是更新UI仅仅是Handler的一个特殊的使用场景,...
阅读(20893) 评论(32)

循环广告位组件的实现

循环广告位组件的实现写在前面的话很久没有写博客了,很多小伙伴问我为什么博客不更新了,这是因为我在做其它事情,时间不充裕所以就没有更新博客,但是现在我又开始更新博客了!接下来我会陆续更新一些文章,主要包含如下几方面内容: 1. Android一些深入的知识点分析 2. 我的技术成长之路 3. 我的后续的技术规划 4. 如何学好Android,如何成为高级工程师 5. 职业规划前言本篇文章是一...
阅读(23900) 评论(72)

Android L中水波纹点击效果的实现

博主参加了2014 CSDN博客之星评选,帮我投一票吧。点击给我投票前言前段时间android L(android 5.0)出来了,界面上做了一些改动,主要是添加了若干动画和一些新的控件,相信大家对view的点击效果-水波纹很有印象吧,点击一个view,然后一个水波纹就会从点击处扩散开来,本文就来分析这种效果的实现。首先,先说下L上的实现,这种波纹效果,L上提供了一种动画,叫做Reveal效果,其...
阅读(45393) 评论(87)

APK动态加载框架(DL)解析

好久没有发布新的文章,这次打算发表一下我这几个月的一个核心研究成果:APK动态加载框架(DL)。这段时间我致力于github的开源贡献,开源了2个比较有用且有意义的项目,一个是PinnedHeaderExpandableListView,另一个是APK动态加载框架。具体可以参见我的github:https://github.com/singwhatiwanna 本次要介绍的是APK动态加载框架(DL)...
阅读(66946) 评论(108)

Android View系统解析(下)

转载请注明出处:http://blog.csdn.net/singwhatiwanna/article/details/38426471(来自singwhatiwanna的csdn博客)Android View系统解析系列:Android View系统解析(上)介绍View的基础知识、View的滑动、弹性滑动、滑动冲突解决方式、事件分发等Android View系统解析(下)介绍View的Fram...
阅读(46134) 评论(32)

Android View系统解析(上)

Android View系统解析(上) 再说动画 View基础知识 View的滑动 View的事件分发 View的滑动冲突 Android View系统解析(下) View的绘制过程 自定义View...
阅读(30220) 评论(47)

可下拉的PinnedHeaderExpandableListView的实现

Android中,大家都用过ListView,ExpandableListView等,也许你还用过PinnedHeaderListView,但是如果我说PinnedHeaderExpandableListView,你听过吗?还有可下拉的PinnedHeaderExpandableListView呢?没听过也不要紧,本文就是介绍这个东西的,为了让大家有更直观的了解,先上效果图。通过效果图可以看出,首先它是一个ExpandableListView,但是它的头部可以固定,其次,在它的上面还有一个头部可以来回伸缩,...
阅读(33458) 评论(96)

Android源码分析-资源加载机制

转载请注明出处:http://blog.csdn.net/singwhatiwanna/article/details/23387079 (来自singwhatiwanna的csdn博客)前言我们知道,在activity内部访问资源(字符串,图片等)是很简单的,只要getResources然后就可以得到Resources对象,有了Resources对象就可以访问各种资源了,这很简单,不过本文不是介...
阅读(20937) 评论(17)

Android apk动态加载机制的研究(二):资源加载和activity生命周期管理

为了更好地阅读本文,你需要先阅读Android apk动态加载机制的研究这篇文章,在此文中,博主分析了Android中apk的动态加载机制,并在文章的最后指出需要解决的两个复杂问题:资源的访问和activity生命周期的管理,而本文将会分析这两个复杂问题的解决方法。需要说明的一点是,我们不可能调起任何一个未安装的apk,这在技术上是无法实现的,我们调起的apk必须受某种规范的约束,只有在这种约束下开发的apk,我们才能将其调起。另外,本文给出的解决方案也不是完美的,但是逻辑已经可以正常地跑通了,剩下的极个别...
阅读(51760) 评论(119)

Android apk动态加载机制的研究

问题是这样的:我们知道,apk必须安装才能运行,如果不安装要是也能运行该多好啊,事实上,这不是完全不可能的,尽管它比较难实现。在理论层面上,我们可以通过一个宿主程序来运行一些未安装的apk,当然,实践层面上也能实现,不过这对未安装的apk有要求。我们的想法是这样的,首先要明白apk未安装是不能被直接调起来的,但是我们可以采用一个程序(称之为宿主程序)去动态加载apk文件并将其放在自己的进程中执行,本文要介绍的就是这么一种方法...
阅读(69435) 评论(72)

Android源码分析-全面理解Context

Context在android中的作用不言而喻,当我们访问当前应用的资源,启动一个新的activity的时候都需要提供Context,而这个Context到底是什么呢,这个问题好像很好回答又好像难以说清楚。从字面意思,Context的意思是“上下文”,或者也可以叫做环境、场景等,尽管如此,还是有点抽象。从类的继承来说,Context作为一个抽象的基类,它的实现子类有三种:Application、Activity和Service(姑且这么说,暂时不管ContextWrapper等类),那么这三种有没有区别呢?...
阅读(21352) 评论(17)

Android Binder机制浅析

摘要Binder是android中一个很重要且很复杂的概念,它在系统的整体运作中发挥着极其重要的作用,不过本文并不打算从深层次分析Binder机制,有两点原因:1是目前网上已经有2篇很好的文章了,2是对Binder机制进行深入底层乃至驱动的分析这一过程相当困难且相当耗时,因此并不适合重复造轮子。本文的角度是对Android的Binder机制从整体和概念上进行分析,能够让大家很快明白到底什么是Bin...
阅读(18761) 评论(5)

Android内核解读-应用的安装过程

前言我们知道,在android手机上安装一个apk很简单,只要打开apk文件,默认就会弹出安装界面,然后点击确定,经过若干秒后,apk就安装成功了,可是你知道apk的安装过程是什么吗?你知道android系统在安装一个apk的时候都干了什么吗?在本文中,将一一解答这个问题。简单来说,apk的安装过程分两步:第一步,将apk文件复制到程序目录下(/data/app/);第二步,为应用创建数据目录...
阅读(14104) 评论(13)

Android内核解读-Android系统的开机启动过程

转载请注明出处:http://blog.csdn.net/singwhatiwanna/article/details/19302593前言当长按手机的power键,Android手机就会开机,那么Android系统的开机启动过程到底是怎么样的呢,本文将要介绍这一过程。简单来说,Android系统的开机启动过程大致是这样的:首先linux系统会启动一个叫做zygote(可以称为受精卵、母体)的li...
阅读(14148) 评论(14)

Android源码分析-Alarm机制与Binder的交互

前言本次给大家分析的是Android中Alarm的机制以及它和Binder的交互,所用源码为最新的Android4.4。因为Alarm的功能都是通过Binder来完成的,所以,介绍Alarm之前必须要先介绍下它是如何调用Binder来完成定时功能的。由于内容较多,本文会比较长,在文章结构安排上是这样的:首先简单介绍如何使用Alarm并给出其工作原理,接着分析Alarm和Timer以及Handler...
阅读(10321) 评论(14)

Android源码分析-Activity的启动过程

转载请注明出处:http://blog.csdn.net/singwhatiwanna/article/details/18154335前言Activity是Android中一个很重要的概念,堪称四大组件之首,关于Activity有很多内容,比如生命周期和启动Flags,这二者想要说清楚,恐怕又要写两篇长文,更何况分析它们的源码呢。不过本文的侧重点不是它们,我要介绍的是一个Activity典型的启...
阅读(33004) 评论(42)

Android源码分析—属性动画的工作原理

转载请注明出处:http://blog.csdn.net/singwhatiwanna/article/details/17853275 前言 本文为Android动画系列的最后一篇文章,通过对源码的分析,能够让大家更深刻地理解属性动画的工作原理,这有助于我们更好地使用属性动画。但是,由于动画的底层实现已经深入到jni层,并且涉及到显示子系统,因此,深入地分析动画的底层实现不仅比较困难而且意义...
阅读(18768) 评论(27)

Android属性动画深入分析:让你成为动画牛人

转载请注明出处:http://blog.csdn.net/singwhatiwanna/article/details/17841165 前言 感谢你阅读本文,我坚信读完本文肯定不会让你失望的。想要做动画牛人?想要精通动画?那么本文所讲的内容都是你必须要掌握的。关于动画,我已经写了两篇博文,但是还是没有将动画描述全面,于是我写了本文,另外,我后面还会再写一篇属性动画的源码分析,通过这四篇博文,...
阅读(39060) 评论(75)

WebView Attack In Android : 解析第三方账号登录平台所存在的安全隐患

转载请注明出处:http://blog.csdn.net/singwhatiwanna/article/details/17663345 前言 这是一个很有趣的话题,WebView在Android中包括IOS中都是一个很重要的控件,有了它,我们可以直接在应用里打开网页而不用跳到浏览器,且网页效果和浏览器几乎一样,这样会增强用户体验,当然也有缺点:占用内存太大,因为WebView加载网页所耗费的...
阅读(9600) 评论(20)
51条 共3页1 2 3 下一页 尾页
    我的书
    微信公众号
    公众号
    聚焦于『Android开发前沿、AI技术、职业发展、生活感悟、妹子图』,欢迎大家关注。
    一句话介绍自己
    Android 资深工程师、混过腾讯、百度和滴滴,《Android开发艺术探索》作者
    爱生活,爱技术,爱妹子,爱游戏
    1群:215680213(已满)
    2群:190283084(已满)
    8群:635778578

    我的联系方式
    QQ:289832127
    singwhatiwanna@gmail.com

    个人资料
    • 访问:1796221次
    • 积分:15820
    • 等级:
    • 排名:第719名
    • 原创:87篇
    • 转载:2篇
    • 译文:0篇
    • 评论:2997条
    博客专栏
    我的微博
    最新评论