android进阶
威哥V5
无耻的谷歌,居然把eclipse与idea全体了。。
展开
-
RecylerView与CardView的使用
RecylerView是Android.5.0以后出现,可以说是对ListView的升级。那么RecylerView相比ListView有哪些新特性呢? 1. 除了可以使用传统的线性布局,还可以使用表格布局。 2. RecylerView自己封装了ViewHolder 以实现 item的利用。 3. RecylerView没有自带onItemClik事件,需要我们在adapt原创 2015-11-21 17:00:17 · 2106 阅读 · 0 评论 -
两种方式实现图形图片
本文介绍两种实现图形图片的方法。 1.通过裁剪bitmap, 使用PorterDuffXfermode, 可以参考这篇博客 http://blog.csdn.net/edisonlg/article/details/7084977 2.通过设置渲染器 BitmapShader, 使用一张图片创建一支具有图像填充功能的画笔具体代码如下pu原创 2016-02-24 21:20:56 · 556 阅读 · 0 评论 -
14、 android性能优化总结
一、布局优化 1. 避免overDraw, 例如不要在父控件与子控件上设置重复的背景, 这些系统会重复绘制。 2. 优化布局层级,尽可能减少嵌套的层数。 例如使用 RelativeLayout进行定位代替多层 LinearLayout,而在相同层级的情况下,优化选择使用LinerLayout与FrameLayout, 因为 RelativiLayout对子控件的遍历操作会更加耗时原创 2016-03-06 22:17:19 · 453 阅读 · 0 评论 -
ListView加载不同布局时的复用及原理分析
当加载不同布局时,需要使用到getViewTypeCount和getItemViewType。首先来看看如何来实现加载不同而已时的复用步骤: 重(@Override)写 getViewTypeCount() – 返回你有多少个不同的布局 重写 getItemViewType(int) – 由position返回view type id 根据view item的类型,在getView中创建正确的原创 2016-03-06 16:35:00 · 1661 阅读 · 0 评论 -
ImageLoader实现Bitmap三级缓存
对开发艺术中的ImageLoader作了下整理。三级缓存分别为 内存, 硬盘, 网络 , 其中内存与硬盘存储用到 LruCache与DiskLruCache. 用法会封装在工具类里面,先看ImageLoader的实现步骤 1. 单例实现ImageLoader, 构造方法中开启LruCache与DiskLruCache 2. 三个私有化方法,分别从缓存中取出Bitmap原创 2015-12-23 18:08:20 · 3244 阅读 · 0 评论 -
Android消息机制
Android消息机制 也就是Hanlder的工作原理要比四大组件的要简单很多,所以也是面试时经常被问到的。网上分析Handler的文章很多,但只有自己分析了,才能更加深刻的去理解。要搞清消息机制,首选要弄清五个对象: Handler, MessageQueue, Looper, ThreadLocal能及消息实体MessageHandler 是android提供给我们操作消息的的工具,使用ha原创 2015-12-17 15:25:15 · 535 阅读 · 0 评论 -
IPC-Binder连接池
池的这个概念是典型的享元设计模式。比如数据库连接池,线程池。对于有限的资源,我们用一个池去管理,让资源共享于不现调用者之间。这里Binder连接池就是为了解决需要多个aidl服务时,我们可以把这些aidl接口放在池中,让service直接提供池的接口,而在客户端同样用一个池的处理类去与service绑定,调用者根据需求去操控池去调用不同接口既可。艺术探索这本书中把服务端与调用端写在一起,特别是B原创 2015-11-30 15:15:49 · 657 阅读 · 0 评论 -
Android IPC-AIDL
调用远程服务方法步骤 远程绑定服务时无法通过同一个接口来调用方法,这时就需要使用AIDL技术 将接口扩展名改为“.aidl” 去掉权限修饰符 gen文件夹下会生成同名接口 将服务中自定义的IBinder类改为继承接口中的Stub 用Stub.asInterface()方法把ServiceConnection中返回的IBinder转为接口类型AS中aidl的使用 1.在main下原创 2015-11-27 18:30:50 · 899 阅读 · 0 评论 -
Android IPC (跨线程调用)
任神的书确实不错, 以IPC的角度把以前零碎的东西做一次复习,加深了理解。以下是读书笔记。 1.进程与线程 进程:android一般一个程序占有一个进程,但可以通过给四大组件指定android:process属性 开启单独,一个进程会运行在 线程: 在一个应用 中耗时操作一般要开启子线程去操作,也就是说一个进程可以有多个线程,它们之间是包含关系。能够进行IP原创 2015-11-27 18:28:42 · 960 阅读 · 0 评论 -
使用ViewDragHelper实现slidemenu
前面我已经用 HorizontalScrollView + Fragment实现了一个非常简洁的滑动菜单。这里用ViewDragHelper帮我们处理滑动,效果更佳。作用: 在自定义ViewGroup中帮我们处理子控件的滑动效果 。 先介绍下ViewDragHelper的使用。 1. 继承一个ViewGroup, 在构造方法中初始化一个ViewDragHelper。原创 2015-11-17 21:52:27 · 2465 阅读 · 0 评论 -
实现滑动的七种方法
周末,android群英传与Android开发艺术探索两本书到了,确实是适合android进阶的好书, 以后书中学到的觉得不错的内容会写在这个模块。今天介绍滑动的七种方式 基本思想: 当手指按下时,记下当前坐标 lastX, lastY 当手指移动时,记下 当前坐标 currentX, currentY 计算差值 offsetX = c原创 2015-11-17 18:08:14 · 2729 阅读 · 0 评论 -
Material Design-过渡动画
Android 5.0 对 Activity的跳转动画增加了新的特效。三种Translation类型 进入:一个进入的过渡(动画)决定activity中的所有的视图怎么进入屏幕。 退出:一个退出的过渡(动画)决定一个activity中的所有视图怎么退出屏幕。 共享元素:一个共享元素过渡动画决定两个activities之间的过渡,怎么共享它们的视图。其中 进入退出包括原创 2015-11-22 13:02:18 · 2032 阅读 · 0 评论 -
防微信聊天气泡图片实现
先看下效果图 防微信实现如图的 图片显示效果。接上篇博客介绍的图形图片的实现 , 这里通过BitmapSharder来实现这个效果。 主要麻烦的地方就是画出气泡形状的path.这里设置自定义的属性,方便设置 图片气泡方向与边框颜色, attrs文件如下<resources> <declare-styleable name="ChatImageView"> <attr n原创 2016-02-24 22:22:11 · 3852 阅读 · 0 评论