Android
文章平均质量分 90
jemon9
这个作者很懒,什么都没留下…
展开
-
Android热更新原理记录
Android热更新原理学习笔记翻译 2016-11-30 14:01:50 · 541 阅读 · 0 评论 -
设计模式——观察者模式
观察者模式——轻松解耦观察者模式——轻松解耦定义UML类图表示ListView源码中的观察者模式在曾经的两次面试,被这个模式搞的迷糊,深深的不甘之下,终于忍不住系统的来了解一下这个模式。通常来讲,观察者模式的终极目的是解耦,降低观察者和被观察者之间的依赖,甚至做到毫无依赖,常常用于GUI系统和订阅——发布系统。就拿GUI系统来讲,随着项目的推进,UI模块可能经常性的发生...原创 2018-03-24 14:44:24 · 558 阅读 · 0 评论 -
Android高效加载Bitmap及缓存机制
Android高效加载Bitmap及缓存机制Android高效加载Bitmap及缓存机制高效加载BitmapBitmap缓存机制LruCacheDiskLruCache在Android系统中,由于Bitmap的特殊性以及Android对单个应用施加的内存限制等因素,导致加载Bitmap时很容易出现内存溢出问题,即所谓的OOM。那么,如何高效加载Bitmap来降低内存...原创 2018-03-16 16:03:57 · 1088 阅读 · 0 评论 -
Android混淆
Proguard特性压缩:Java源代码通常被编译为字节码,虽然字节码比源代码更简洁,但它本身仍然会包含很多无用的代码。Proguard的压缩功能通过分析字节码,能够检测并移除没有使用的类,字段,方法和属性;优化:优化Java字节码,同时移除没有使用到的指令;混淆:使用无意义的简短字母组合对类名、字段名、方法名进行重命名;预检验:对上述处理后的代码进行预检验;混淆配置buildTypes原创 2017-06-06 15:42:58 · 419 阅读 · 0 评论 -
Android注解研习录
概要在Java和Android的开发中,自从注解问世,越来越受开发者们所青睐,可以说,注解大大简化了开发者的开发作业。无论是运行时注解,还是编译时注解,都被广泛的使用着。而且,市面上产生了好多依赖注解而崛起的开源库,Google官方更是为了Android而推出了Support Annotation。如何定义注解注解是Java引入的特性,通过在Java源代码中引入注解标签,可以在编译转载 2017-06-01 10:19:04 · 261 阅读 · 0 评论 -
Android NDK开发基础知识
概要Android NDK开发对于初学者来说,往往会有丈二和尚摸不着头脑之感,所以在此处理清一些基础知识,总体来说有以下几个方面:ABI概念的理解。使用C++的两种方式(Android Studio)。Gradle配置.so文件的格式。使用.so的注意事项。ABI概念的理解到目前为止,Android系统总共支持7种不同的CPU架构,分别是:ARMv5ARMv7x86MIPSARM原创 2017-05-31 12:11:17 · 497 阅读 · 0 评论 -
Android View基础知识
概述对于view的基础知识来说,基本上都是些概念性的东西,有些内容重要但又不太容易理解,之前研究过一次,但是隔了很久不用,有些概念弄混淆了,导致不得不重新去查找资料学习,这也就是我写这篇博客的原因。View的位置参数view的位置由它的四个顶点来决定,分别是left、top、right、bottom,这四个属性确定了它相对父容器所在的位置:即left是view左上角相对于父容器的横坐标,top是vi原创 2017-05-09 17:53:22 · 367 阅读 · 0 评论 -
Android IOC 依赖注入框架
概述对于Android从业者来说,绝大多数人都听说或者用过IOC框架,典型的第三方库有butterknife和xutils;它们的优势很明显,可以让你避免写一堆findViewById()代码,通过注解帮你注入所有的控件。举个例子:一个Activity需要setContentView()方法设置布局,你可以通过注解该Activity来代替;该Activity有许多控件,需要findViewById(原创 2017-05-10 23:18:19 · 510 阅读 · 0 评论 -
Glide图片发请求+缓存简单实用解析
1、引入依赖:compile 'com.github.bumptech.glide:glide:3.7.0'2、配置 1、 配置需要实现 GlideModule,在此,GlideModule 相当于 Application 的角色,属于全局配置,在该实现类中可以设置图片缓存信息; 2、在 AndroidManifest.xml 中需要配置原创 2016-11-07 13:49:50 · 2326 阅读 · 2 评论 -
Android轮播实现
Android轮播实现前几天研究了Android的事件分发机制和View的实现流程,然后按照教程实现了轮播图,现在赶紧整理一下写成博客,方便日后参考,防止自己忘记。整个实现过程是一个由浅入深,循序渐进的过程,所以,实现的思路很重要。 首先要明白,轮播图核心是一个自定义ViewGroup,而非自定义View,在此称之为LoopViewGroup,大体的实现思路主要有一下几点:LoopViewGro原创 2017-03-16 00:24:11 · 380 阅读 · 0 评论 -
Android事件分发研习录
Android事件分发机制研究了几天的事件分发,该是将它写下来的时候了,作为一次学习经历的总结,也为了避免后面再次使用时进坑。说起事件,估计大家最熟悉的莫过于按钮的点击事件,然后可能就是View的触摸事件,但是它们的实现过程是怎样,不知道又有多少人能说的清楚。事件分发的过程,实际上就是当一个MotionEvent(触摸事件)产生后,系统将这个事件分发到具体的View的过程。事件分发中,最主原创 2017-03-14 10:03:20 · 254 阅读 · 0 评论 -
Android Binder通信研习录
Android Binder通信研习录Binder作为Android进程间通信最重要的工具,一直以来困扰着我,这两天翻看了几位大神的博客,基本上都是从底层+应用层完全讲解,奈何本人对Jni不是很熟悉,所以忽略了底层的原理解析,现将应用层的原理整理下来,方便日后查看,如果有什么地方不准确,欢迎阅览者指出。相关概念解析IInterface:系统提供的一个接口,所有可以在Binder中传输的接口都必须继原创 2017-03-30 17:28:09 · 345 阅读 · 0 评论 -
Android Material Design学习笔记
Android Material Design学习笔记Android Material Design: (第一天) 一、Material Design新的特性 1、物理特性(高度、厚度) 2、阴影效果,增加了实体感 3、动画接近于现实中的动作(水波效果、转场特效等) 二、应用场景(都能用来做什么) 1、Android中各种地方均可应用(Activity切换特效、沉浸式动画效果、Rec原创 2017-03-30 09:15:59 · 593 阅读 · 0 评论 -
Rxjava2+MVP+Retrofit2关系图
Rxjava2+MVP+Retrofit2关系图原创 2017-04-07 14:39:38 · 437 阅读 · 0 评论 -
Android Handler消息机制研习录
Android Handler消息机制研习录知识这种东西,隔段时间不用,就会忘记,翻来覆去看了几遍源码,可是每次用的时候还是忍不住再去复习一下实现过程,生怕自己忘记了。现在将它记录下来,方便日后查看。Android消息机制主要有以下几方面组成原创 2017-03-21 11:15:30 · 317 阅读 · 0 评论 -
RemoteViews内部实现机制及应用
RemoteViews内部实现机制及应用一、介绍 RemoteViews是一种特殊的View视图结构,作用是显示并更新其他进程中的View界面;因其实现了Parcelable接口,所以可以实现跨进程通信;典型的应用场景是通知栏和桌面小部件开发(两者均是运行在系统进程中);因其运行在远程的进程中(此处可以理解为系统进程),所以没有办法通过findViewById()获取子控件,但是内部原创 2017-02-27 10:24:28 · 437 阅读 · 0 评论 -
Android动画学习总结
Android动画学习总结一、Android动画分类:View动画:场景里的View不断的做变换(平移、旋转、拉伸、透明度)产生的动画效果;帧动画:按顺序播放一系列图像产生的效果;属性动画:Android3.0开始增加的一种动画效果,通过动态改变View对象的属性值实现。二、View动画:View动画分为TranslateAnimation、RotateAnimation、ScaleAni原创 2017-02-28 14:10:21 · 386 阅读 · 0 评论 -
自定义Android SearchView
自定义Android SearchView原创 2016-11-28 13:37:52 · 632 阅读 · 0 评论 -
Android APT技术解析与实战
Android APT技术解析与实战Java提供了插入式注解处理器,用以在编译期间对代码进行检查或者生成相关的代码。而APT,是一种在代码编译期间处理注解,按照一定的规范,生成相应的Java文件的技术。现在很多流行的第三方库,如Dagger2、ButterKnife等,都是采用APT技术实现的。APTAPT(Annotation Processing Tool)是一种注解处理工具,它对...原创 2018-07-11 18:17:17 · 3977 阅读 · 0 评论