4 MadPro_RIna_XIo

尚未进行身份认证

我要认证

比任何人痛苦才能比任何人努力

等级
TA的排名 36w+

分享一个Android封装精美、好用的菜单型PopupWindow

先上效果图: 就是这样一个菜单型悬浮的PopupWindow,标签可添加,点击展开。现在说下是怎么弄的

2016-08-13 19:36:20

解决Android6.0下相机崩溃问题

今天手机更新Android6.0,发现以前写的开启相机的功能在6.0的手机上会系统崩溃,最后发现是因为Android6.0新特性的问题。Android6.0(SDK23)对权限进行了细分,分为普通权限和危险权限,像开启相机就属于危险权限,这类权限需要运行时申请(就是在代码里请求)虽说是动态注册权限,但是Manifest下的这条权限还是不能少: <uses-permission android:nam

2016-08-13 14:36:29

Android播放器开发之SurfaceView(二)

上文介绍了开发Android播发器的简单流程:首先我们来看下官方文档对surface的介绍: - SurfaceView是视图(View)的继承类,这个视图里内嵌了一个专门用于绘制的Surface。SurfaceView和View最本质的区别在于:SurfaceView是在一个新起的单独线程中可以重新绘制画面而View必须在UI的主线程中更新画面。所以surface这些特性正好满足了我们作为视频容器的

2016-08-04 20:12:30

利用Vitamio开发视频播放器(一)

开发流程与实现思想前段时间一直在研究播发器,前前后后弄了几个月,发现了一些不错的开发框架和思想,也发现不少解决和未解决的bug。总之,希望记录下来这几个月的历程。1.实现思路首先,我们要拆分模块,这样做的好处有很多,可以便于分析理清思路,开发的时候利于解耦合,便于维护。一个播发器也可以往下细分,比如一个播放器有一个播放界面,用于显示视频,一个媒体控制器,用于控制视频的播放像快进,暂

2016-08-02 13:06:42

内存缓存LruCache算法

内存缓存技术LruCache原理分析1.告别软引用最近几天在学习缓存技术,缓存无非就是利用空间换时间,以达到应用流畅的目的。在三级缓存中,最重要的就是内存缓存,因为cpu与内存的直接读取关系,我们可以让图片等数据保存在内存中,保证用户下次读取不用无聊的等待。同时,内存又是很珍贵的空间,所以我们不能无限制的使用内存。一般情况下,我们都会想到使用软引用或者弱引用,比如利用HashMap以键值对的方式存储

2016-07-31 13:27:25

深入认识AsyncTask

走向异步处理AsyncTask1.AysncTask的三个核心首先我要说的是网上有很多关于AysncTask的文章,这里我就不累赘重复做过多的基本介绍,所以我就从侧面阐述我对AysncTask的一些认识。我们都知道Android官方为了让创建异步任务更简单,把Handler和Thread封装成AysncTask。所谓三核心,就是三个核心方

2016-07-27 22:30:55

MeasureSpec

在View工作的流程中,measure过程决定view的宽高,在view的measure过程中,MeasureSpec起到了至关重要的作用,它参与了Measure的测量过程。我们知道,一个view的宽高有时受到父容器的影响,在测量工程中,系统会将view的LayoutParams根据父容器所施加的规则转换成对应的MeasureSpec,再根据这个MeasureSpec测量出View的宽高,所以View很大程度上决定

2016-07-23 22:29:20

浅谈Activity

浅谈四大组件之Activity一.什么是Activity以下都是我学习之后对activity的理解和笔记,以及自己的看法和总结: Activity在应用中的表现为一个用户界面,他会加载各种ui来与用户进行交互,在我看来,activity译为活动,可以理解为一个网页,activity之间可以相互跳转,就像用户浏览一个个的网页,将不同的页面连在一起,完成一系列操作流程。

2016-07-18 23:30:02

IPC之AIDL简析

Android Interface Definition Language意为Android接口描述语言,常用于进程间通讯。首先要说明的是,如果你很牛逼,你完全不用AIDL文件即可实现Binder,Android之所以给开发者提供AIDL是为了方便系统为我们自动生成实现Binder的代码。

2016-06-18 18:47:30
勋章 我的勋章
    暂无奖章