![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android进阶
卫星是我朋友
既然无法改变,那就欣然上路。
展开
-
Android网络优化
转自:Android网络优化转载 2016-09-26 02:29:11 · 399 阅读 · 0 评论 -
ViewPager加RadioGroup构建底部导航
ViewPager 简介ViewPager可以实现视图的左右滑动效果ViewPager的继承结构java.lang.Object ↳android.view.View ↳android.view.ViewGroup ↳android.support.v4.view.ViewPagerViewaPager与ListView类似也需要适配器来承载需要显示的Vie原创 2016-03-10 17:50:28 · 546 阅读 · 0 评论 -
Toolbar+DrawerLayout侧边导航
Android 5.x Theme 与 ToolBar 实战 Android ActionBar完全解析,使用官方推荐的最佳导航栏(上) Adding the App Bar 薄荷Toolbar(ActionBar)的适配方案 Android DrawerLayout 高仿QQ5.2双向侧滑菜单 Creating a Navigation DrawerHow do I use DrawerL原创 2016-08-12 01:02:36 · 470 阅读 · 0 评论 -
logger-简介
orhanobut/logger翻译 2016-08-12 01:29:20 · 324 阅读 · 0 评论 -
PullToRefresh下拉刷新
Android下拉刷新完全解析,教你如何一分钟实现下拉刷新功能原创 2016-08-12 01:04:27 · 346 阅读 · 0 评论 -
Android消息循环机制
1)Handler、Looper、MessageQueueHandler成员变量有mLooper、mQueue,它们分别是Looper和MessageQueue的引用。在实例化Handler时,Handler通过Lopper.myLooper()来获取本线程的Looper实例,再从Looper中获取消息队列,mQueue = mLooper.mQueue。没错,消息队列是在Looper中存储的。pu原创 2016-07-26 02:24:21 · 301 阅读 · 0 评论 -
Android性能优化
1、布局优化include布局引用已有视图merge标签合并布局管理器ViewStub视图延迟加载,在ViewStub调用inflate方法或设置visiable之前,它是不占用布局空间和系统资源的,只是一个占位符。加载视图之后,它就消失了,有加载后的布局替代。减少视图层级尽量多使用RelativeLayout,使视图变得扁平。总结尽量多使用RelativeLayout,不要使用绝对布局Absol原创 2016-08-05 14:23:39 · 421 阅读 · 0 评论 -
View滑动冲突处理
上一篇View事件分发介绍事件分发主要就是父子元素的争斗,所以自然而然的就产生两种处理方法,在父元素处理(外部拦截)、在子元素处理(内部拦截),其实就是事件处理的控制方不同。滑动冲突场景描述1、外部滑动方向与内部滑动方向不一致2、内外滑动方向一致这就要根据业务场景来处理何时哪个View该滑动。3、上面两种情况的结合典型场景,最外层SlideMenu,里面是ViewPager,ViewPager里面又原创 2016-08-21 23:10:34 · 423 阅读 · 0 评论 -
View事件分发
简介1、View事件分发最重要的三个函数dispatchTouchEventonInterceptTouchEvent-此方法只有ViewGroup有onTouchEvent2、View层事件处理的伪代码public boolean dispatchOnTouchEvent(MotionEvent ev){ boolean consume = false; if(onInte原创 2016-08-08 16:04:13 · 271 阅读 · 0 评论 -
AsyncTask原理
五个核心方法onPreExecute() 此方法在主线程中执行,在异步任务执行之前,此方法会被调用,一般用于一些准备工作,例如下载进度条的初始化。doInBackground(Params… params) 此方法在子线程中执行,用于执行异步任务,注意这里的params就是AsyncTask的第一个参数类型。在此方法中可以通过调用publicProgress方法来更新任务进度,publi原创 2016-07-26 18:50:26 · 419 阅读 · 0 评论 -
Android图片加载须知
图片尺寸过大获取图片大小、MIME BitmapFactory提供了多个解析方法(decodeByteArray, decodeFile, decodeResource,decodeStream等)用于从网络、文件、资源文件等中解析Bitmap对象。这些方法都可以传入BitmapFactory.Options对象来来设置解析时的参数,把Options对象的inJustDecodeBounds设为t原创 2016-08-07 02:48:16 · 373 阅读 · 0 评论 -
Android内存缓存和磁盘缓存的实现
内存缓存内存缓存是Android自带的LruCache,LruCache内部主要采用LinkedHashMap来实现,而LinkedHashMap天生自带缓存特性,可支持FIFO和LRU访问。LinkedHashMap的特点LinkedHashMap继承自HashMap,同时也继承了HashMap的数组+链表的实现,不过添加了以下功能:把所有的节点维护成一个双向循环链表accessOrder字段原创 2016-08-19 18:10:11 · 1183 阅读 · 0 评论 -
RecyclerView的使用
与ListView相比,同样具有item回收复用功能,RecyclerView把ViewHolder的实现封装了起来,使用时要实现自己的ViewHolder。首先,跟ListView一样,要定义一个数据适配器,这里要继承RecyclerView的内部抽象类,RecyclerView.Adapter< VH extends ViewHolder>,泛型参数为ViewHolder。数据适配器public原创 2016-08-06 02:03:19 · 1006 阅读 · 0 评论 -
内存泄漏原因概览
1、静态变量导致内存泄漏Activity的Context或this被赋值给一个类的静态变量,因为静态变量时类变量,除非该类在虚拟机中被卸载,否则,Activity永远被强引用,不会被GC掉。2、属性动画导致的内存泄漏如果动画无限循环,且没有在onDestroy中退出动画,并且,此Activity的View被动画持有,View又持有Activity,最终Activity无法释放。解决方法是在,onDe原创 2016-08-05 22:06:43 · 1724 阅读 · 0 评论 -
Android文件上传
首先了解一下文件上传的原理,在CSDN上传一张图片 通过抓包工具来查看Http请求信息 采用POST方式传输,来看下它的Payload 它的格式如下: ——WebKitFormBoundaryaihAKBhFq3SEzil7 Content-Disposition: form-data; name=”file1”; filename=”PictureOnDisk.PNG” Con原创 2016-08-05 14:59:31 · 258 阅读 · 0 评论 -
Service的使用(四)前台服务与AIDL
前台服务前台服务优先级较高,在系统内存不足时,也不会考虑将其终止。 前台服务必须为状态栏提供通知,而且除非服务停止或从前台删除,否则不能清除通知。应用:音乐播放器播放音乐的Service应该设置为在前台运行,状态栏中的通知表示正在播放的歌曲,并允许用户启动 Activity 来与音乐播放器进行交互。前台服务本质还是一个服务,要继承Service进行实现。可以看做Service和Notificatio原创 2016-07-25 01:18:53 · 638 阅读 · 0 评论 -
View工作流程
View的工作流程主要指measure,layout,draw这三大流程,即测量、布局和绘制。measure过程1、View的measure过程2、ViewGroup的measure过程使用measureChildren遍历调用所有子View的onMeasure方法layout过程layout的作用是ViewGroup用来确定子元素的位置,当ViewGroup的位置被确定后。它在onLayout中会原创 2016-10-05 14:22:38 · 396 阅读 · 0 评论