个人博客


蔡军

适配可跨进程使用的SharedPreferences

系统的sp跨进程的问题 在讨论这些问题之前先要了解系统sp的一些特点。 系统的sp是自带了一个缓存的机制的,在ContextImpl里有个static的的ArrayMap保存了获取过的SharedPreferences对象,在写入和读取的时候会先从这个缓存里读取SharedPreferen...

三星手机使用系统闹钟类时爆出Too many alarms的问题解决

三星手机上常出现的坑 在三星手机中使用系统类Alarm时时常会爆出Too many alarms (500) registered的错误。错误日志看起来也无从查起。在其他手机上也不会出现类似的错误。 解锁方法 经测试,在三星手机中使用了FLAG_CANCEL_CURRENT配上ELAPSED...

获取activity栈顶信息

activity栈顶是什么? 简单的讲就是用户手机当前最上面的activity。如果没有其他视图遮挡就是当前可见的activity 获取的方法分为两种 由于Android对权限的控制越来越严格,获取栈顶的方法大致可以分为两种,一种是5.0以前直接获取。还有一种是5.0以后需要申请androi...

获取其他应用的资源和函数

关于获取其他应用的资源的用途 用途就如其名字一样:获取其他应用的资源。典型的用途如我司的主题,更换某些界面的图片,颜色等。 获取到另一个应用的方法之后可以用反射调用其方法,用途有主包使用主题包的方法完成各个主题不一样的动画等。 获取资源的方法 获取的方法有两个,其实也相当于是一个 通过...

触摸事件传递分析

MotionEvent MotionEvent是一个触摸动作的封装,里面包含了触摸动作的类型,如:ACTION_DOWN、ACTION_MOVE、ACTION_UP等 当前触摸动作的坐标 X、Y 事件序列 一个事件序列一般由一个按下事件,0个或者N个滑动事件,一个抬起事件组成 正常情况下一...

设计模式-单例模式

单例模式的使用场景 当你需要使用某个类只有一个实例的时候 ps:对单个方法而言静态方法同样也可以达到这个目的,例如xxUtils里的方法。 单例模式和静态方法的区别 静态方法是基于对象的,而单例模式是面向对象的。虽然不面相对象也能解决问题,面相对象的代码提供一个更好的编程思想。 如果...

简单了解android设置透明状态栏

说在前面:android允许设置透明状态栏是在android4.4以后,所以这里主要讨论的是在android4.4以后设置透明状态栏以后的布局与android4.4之前手机上的布局的兼容问题. 首先看下如何设置状态栏透明: 在AndroidMainfest.xml中的Application...