- 博客(11)
- 收藏
- 关注
原创 Android正则表达式匹配字符串
在应用开发过程中,经常会碰到要检索出某个字符串中特定格式的字符,比如说微博@**被标记为蓝色,聊天时“[微笑]”被解析为表情等等,这就用到了正则表达式。 规则可以查阅http://www.jb51.net/shouce/jquery1.82/regexp.html 在Android中的应用: // 匹配字符串中@*** String REGEX = "@[\\u4e
2017-02-18 09:35:14
7279
原创 热修复Tinker简单接入
废话不多说,现在网上有很多关于Tinker接入的文章 推荐:http://blog.youkuaiyun.com/lmj623565791/article/details/54882693 张鸿洋的博客 本篇文章主要说一下自己在接入过程中的心得一、Gradle方式接入: 1.项目的build.gradle 下引入依赖:dependencies { classpath ('com.tence
2017-02-18 09:12:59
1302
原创 Android资源引用中“?”和“@”区别
我们在开发应用程序引用资源时,一般会使用@drawable/**这种方式,偶尔也会碰到使用?attr/来引用的,其区别在于:1.@style/引用的资源是固定的,是直接引用资源目录下的实际资源 ?attr/代表主题属性,引用的资源,是可以跟随不同主题来改变的。因此?引用的资源必须在theme中声明2.自定义?attr/**:// 1.首先在attrs.xml中声明属性,format为refe
2017-02-14 09:30:24
418
原创 Toolbar实现沉浸式状态栏
沉浸式状态栏实现方式方法一:调整状态栏颜色和Toolbar背景色相同theme中设置<item name="colorPrimaryDark">@android:color/white</item> 但是此方法在使用DrawerLayout侧滑时,toolbar颜色会变暗,导致和状态栏颜色出现偏差,效果不佳。方法二:类似网易云音乐状态栏全透明theme中设置<item name="androi
2017-02-14 09:04:48
943
原创 Android进程优先级oom_adj
当Android运行了很多进程后,由于内存不足,系统会杀掉一下不重要的进程,提供内存给更重要的进程使用。那么系统是如何对进程的“重要性“进行判定的呢?命令行中输入cat /proc/process_id/oom_adj 可以查看到某一进程的adj数值,系统就是根据这一数值来判定进程是否被杀或者保留。ADJ等级定义在frameworks/base/services/core/java/com/andr
2016-12-29 10:44:07
2542
原创 Canvas绘图之PorterDuffXfermode
上一篇文章中简单介绍了一下Canvas绘图相关知识,留下了setXferMode未作介绍。此篇文章针对使用setXferMode中碰到的问题,做一个总结。很多开发者都知道,PorterDuffXfermode用来设置两个bitmap重叠时的绘制效果(据说Porter和Duff是最早提出图形混合概念的两个人),网上到处可以看到这张图~(dst表示底图,src表示要绘制的图)它对每种Mode的描述已经非
2016-11-09 16:44:19
342
原创 Android Handler, Looper浅析
直接翻译官方API文档:public class Handler extends Object概述Handler允许你发送或者处理与某个线程(Message Queue)相关联的Message或者是Runnable对象。每个Handler实例只能与一个线程(Message Queue)相关联。当你创建一个Handler时,它就与创建Handler所在的线程/线程Message Queue绑定在一起—
2016-10-20 14:39:34
324
原创 Android中的Service浅析
大家都知道,Android应用中包括四大组件,分别是Activity、Service、BroadcastReceiver和ContentProvider,那今天就来说一说服务——Service。如果说Activity是一个应用程序的脸面的话,那么Service就可以看做是应用的内在。为什么这么比喻呢,Activity主要负责与用户进行交互的动作,例如更新UI,响应用户点击等,而Service则处理一
2016-10-14 08:54:04
287
原创 Canvas、Paint绘图
最近看了一些绘图相关的知识,记录一下,方便查阅。绘图常用于自定义View的情况,可以根据需求绘制出相应的图案。一、CanvasCanvas持有(holds)所有的绘制操作,简单点说,canvas就是画布,所有的绘制都要在画布上进行。绘制操作需要四个基本的组件:1.一个执行所有绘制操作的画布canvas;2.一个持有所有像素的位图bitmap(可以理解为bitmap就是铺在canvas上的像素);3.
2016-10-10 18:36:52
370
原创 Android使用RxJava浅析
首先说一下自己为什么使用到了RxJava,因为在处理网络异步数据的时候,我一般是使用Thread+Handler或者AsyncTask来实现,直到接触了RxJava后,竟然可以如此便利的进行网络请求以及数据处理..然后就一发不可收拾,写篇博文记录一下一,简介RxJava是一种响应式编程(个人理解),他有两个重要元素Observable(被观察者,事件源)和Subscriber(观察者)。Observ
2016-09-29 14:09:58
338
原创 Android内存泄漏分析
Android内存泄漏分析什么是内存泄漏?哪些情况会导致内存泄漏?怎么分析查找内存泄漏?一.什么是内存泄漏 Android垃圾回收采用的是根搜索算法(GC Root Tracing),从GC roots根节点开始对Heap进行遍历,搜索走过的路径叫做引用链(Reperence Chain),到最后,没有直接或间接被GC roots引用到的对象就是垃圾,需要被GC回收。 而内存泄露就是存在
2016-09-19 17:14:10
269
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人