Android
文章平均质量分 85
miomin_0815
这个作者很懒,什么都没留下…
展开
-
【自定义View】02--measure源码详尽分析
大家知道,自定义View有三个重要的步骤:measure,layout,draw。而measure处于该链条的首端,占据着极其重要的地位;然而对于measure的理解却不是那么容易,许多问题都是一知半解,比如:为什么父View影响到了子View的MeasureSpec的生成?为什么我们自定义一个View在布局时将其宽或者高指定为wrap_content但是其实际是match_parent的效果?子View的specM转载 2016-06-11 20:02:48 · 706 阅读 · 0 评论 -
【自定义View】01--常用工具介绍
本文转载自:http://blog.csdn.net/lfdfhl/article/details/51324275在自定义View的时候,常常会用到一些Android系统提供的API工具。这些API封装了我们经常会用到的方法,比如拖拽View,计算滑动速度,View的滚动,手势处理等等。如果我们自己去实现这些方法会比较繁琐,而且容易出一些bug。所以,先介绍一下这些常用的工具,以便在后续的学习和工作中使用。转载 2016-06-10 17:39:44 · 807 阅读 · 0 评论 -
【Android学习笔记】Android RecyclerView 使用完全解析 体验艺术般的控件
一、概述RecyclerView出现已经有一段时间了,相信大家肯定不陌生了,大家可以通过导入support-v7对其进行使用。 据官方的介绍,该控件用于在有限的窗口中展示大量数据集,其实这样功能的控件我们并不陌生,例如:ListView、GridView。那么有了ListView、GridView为什么还需要R转载 2016-05-22 14:59:41 · 544 阅读 · 0 评论 -
【自定义View系列】03--onLayout源码分析
一、源码分析在经过measure阶段以后,系统确定了View的测量大小,接下来就进入到layout的过程。在该过程中会确定视图的显示位置,即子View在其父控件中的位置。先看View的layout( )方法:转载 2016-06-24 23:14:14 · 603 阅读 · 0 评论 -
【Android学习笔记】Android中View的事件分发机制
Touch事件分发中只有两个主角:ViewGroup和View。Activity的Touch事件事实上是调用它内部的ViewGroup的Touch事件,可以直接当成ViewGroup处理。原创 2016-05-21 16:44:46 · 565 阅读 · 0 评论 -
【View工作原理】ViewRoot、DecorView、MeasureSpec和LayoutParams
一、窗口层级关系1、PhoneWindow是Android中最基本的窗口系统,每个Activity会创建并持有一个PhoneWindow对象,是Activity和整个View系统交互的接口。2、DecorView(1)Dispatch ViewRoot分发来的key、touch、trackball等外部事件。(2)DecorView有一个直接的子View,我们称之原创 2016-06-07 19:31:17 · 690 阅读 · 0 评论 -
【学习清单】我的Android学习清单
我把Android重难点和读书笔记都整理在github上:https://github.com/miomin/AndroidDifficulty如果你觉得对你有帮助的话,希望可以star/follow一下哟,我会持续保持更新。1、学习知识的途径笔主写这篇文章的时候,是大三,刚刚拿到阿里巴巴、腾讯、百词斩的实习offer,学习Android一年,平时获取知识的途径主要有:书本、视频教程、博客、Gith原创 2016-04-13 15:31:04 · 5865 阅读 · 2 评论 -
【Android性能优化】使用NDK进行Java和C++混编
一、Java和C/C++混编的步骤(1)在Java代码中声明本地方法(2)实现Java本地接口(JNI)粘合层(3)创建Android makefile文件(Android Studio不需要,Gradle代替)(4)使用C/C++实现native方法(5)编译native库(6)加载native库原创 2016-05-15 09:53:42 · 2093 阅读 · 0 评论 -
【Android学习笔记】再探Android Service
初学Android的时候,对Service是草草了之,现在反过来复习,才发现自己有很多知识没有掌握,在这里总结一下。Service是Android的四大组件之一,是Android中实现程序后台运行最合适的解决方案之一,非常适合被用于去执行那些不需要和用户界面交互而且要求长期运行的任务。原创 2016-03-14 21:58:42 · 1832 阅读 · 0 评论 -
【Android性能优化】布局的性能优化
APP的每个View和Layout都需要经过Measure、Layout和Draw三个过程,如果布局层级过深,这个过程就会非常耗时。所以减少Layout的层级是优化布局性能的一个重要手段。本文将介绍通过include、merge、ViewStub三种手段来进行Android布局层级优化。原创 2016-04-12 11:53:15 · 2198 阅读 · 0 评论 -
【Android性能优化】内存泄露和内存溢出(OOM)的引发原因及优化方案
一、内存泄露垃圾回收器无法回收原本应该被回收的对象,这个对象就引发了内存泄露。内存泄露的危害: (1)过多的内存泄露最终会导致内存溢出(OOM)(2)内存泄露导致可用内存不足,会触发频繁GC,不管是Android2.2以前的单线程GC还是现在的CMS和G1,都有一部分的操作会导致用户线程停止(就是所谓的Stop the world),从而导致UI卡顿。二、内存溢出(OOM)Android原创 2016-03-30 22:21:29 · 20637 阅读 · 2 评论 -
【Android性能优化】Android图片加载方案--Bitmap的内存管理和优化方案
写在前面:笔者的上一篇博文有提到过,如果不恰当的使用Bitmap,很容易造成OOM。这篇博文就来谈谈应该如何正确的管理Bitmap的内存,以及优化策略。参考: Google官方教程 – 《Android Training Ccourse》一、加载按显示需要的比例缩小的图片1、先来说说屏幕密度在Android中,Imageview控件的长宽单位一般设置为dp/dip,而不用px。这样做的原因,是因为原创 2016-03-31 18:04:14 · 12676 阅读 · 0 评论 -
【Android资料】Android软键盘显示模式总结
在Edittext输入时需要弹出软键盘,对布局的影响有不同的要求。可以在该软键盘所在的activity里的android:windowSoftInputMode=””属性这只软键盘的显示模式。下面总结一下。值描述“stateUnspecified”软键盘的状态(是否它是隐藏或可见)没有被指定。系统将选择一个合适的状翻译 2015-08-08 21:17:51 · 569 阅读 · 0 评论 -
【环境搭建】MAC OS X上搭建Android studio环境
--原创 2015-07-20 16:39:57 · 728 阅读 · 2 评论 -
【自定义View系列】04--谈谈事件分发
引言:这部分会分三个模块来讲,先讲View对Touch的处理,再讲ViewGroup的事件分发,最后讲如何解决滑动冲突。我习惯通过在源码中添加注释来理解源码,以下是我提取出来几个重要方法,将不重要的部分删掉,并且添加了中文注释。一、先从View讲起如果一个View(比如Button)接收到Touch,那么该Touch事件首先会传入到它的dispatchTouchEvent( )方法,所以我们从这里开原创 2016-07-09 22:01:07 · 1554 阅读 · 0 评论