![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
个人总结
文章平均质量分 62
假装会写代码
这个作者很懒,什么都没留下…
展开
-
2020年了你还不会JetPack之LifeCycle
LifeCycle简介及使用场景JetPack架构组件之一,谷歌爸爸官方出品,方便开发者管理Activity或者Fragment的生命周期,所谓管理,其实就是我们需要在生命周期方法里做写很多重复的业务逻辑,譬如一个项目有100个Activity+200个fragment,现在有个需求是要在他们的生命周期方法onResume或者onPause里埋个点做个记录,这时我们以前的做法大多是在BaseAc...原创 2020-04-28 00:29:47 · 325 阅读 · 0 评论 -
Android实现录屏和截屏功能
Android实现录屏和截屏功能1. MediaProjectionManager介绍2.所需权限3.示例代码1. MediaProjectionManager介绍用于获取screen capture的主要类,在Android 5.0(Api Level 21)时添加。核心方法:(1)创建:public Intent createScreenCaptureIntent ()Return...原创 2020-04-26 00:44:13 · 2430 阅读 · 3 评论 -
Android类加载器的学习总结
1.Java中的类加载器<> BootstrpLoader:C++实现、加载指定的JDK核心类库(java.lang、java.util)、/jre/lib路径下的类库。<>ExtClassLoader:加载java的拓展类,/jre/lib/ext路径下的类库<>ApplicationClassLoader:加载当前程序的Clas...原创 2019-07-03 22:13:10 · 573 阅读 · 0 评论 -
使用SQLiteStatement提高sqlite的插入速度
创建数据库SQLiteDbHelper dbHelper= new SQLiteDbHelper(this, "mydb", null, 1);SQLiteDatabase database = dbHelper.getWritableDatabase();dbHelper.createTable();利用SQLiteStatement插入数据,可大幅度提高效率SQLiteDa...原创 2019-06-19 15:34:09 · 1177 阅读 · 0 评论 -
ANR问题Log分析
分析问题思路:了解用户的操作流程,查看错误出现的设备,app版本,及相关分支代码-->查看log里的堆栈信息及用户操作轨迹-->复现问题-->检查由堆栈信息里反应出来的相关的类和方法--> 检查项目代码逻辑 --> 检查trace信息 --> 检查自己项目的cmd line :项目包名 下的每个线程的信息 --> 再检查cmd line: system_...原创 2019-06-19 12:13:52 · 5059 阅读 · 0 评论 -
Android 屏幕适配总结(1)
px = density * dp;density = dpi / 160;px = dp * (dpi / 160);dip或dp是一个意思,即密度无关像素,规定以160dpi为基准,1dip=1px。像素密度计算方法:以5英寸屏幕,分辨率为1920×1080的手机为例:√(1920^2+1080^2)/5 = 441 dpi(每英寸441个像素)如果是4.7英寸的屏...原创 2019-06-19 11:33:26 · 256 阅读 · 0 评论 -
Android StrictMode模式检测内存泄漏
activity启动时会开启StrictMode模式:StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();StrictMode.setThreadPolicy(policy);严苛模式主要检测两大问题,一个是ThreadPolicy和VmPolicy。T...原创 2019-06-19 11:30:25 · 1370 阅读 · 0 评论 -
Android DirectBoot模式
DirectBoot(简称DB)是Android N新引入的一个特性,本质上是对数据访问做了限制。在用户开机但未解锁之前,应用只能访问这个安全区内的数据,从而保护用户隐私安全。Android N上把数据分成了两块,分别是:1、凭据保护存储区(credential-protected),这是所有应用的默认存储位置,仅在用户解锁设备后可用。2、设备保护存储区(device-protected...原创 2019-06-19 11:28:40 · 4683 阅读 · 0 评论 -
JVM、Dalvik、ART
Java程序执行过程类加载器JDK提供了三种类ClassLoader,分别是BootstrpLoader(根加载器)、ExtClassLoader(拓展类加载器)、AppClassLoader(java默认的加载器),类加载动态性,先将基础类加载到JVM里,剩余的类会在需要的时候加载到JVM里。 双亲委托机制加载一个类之前会判断该类是否被当前类加载器加载过,如...原创 2019-06-19 11:24:18 · 206 阅读 · 0 评论 -
设计模式--单例模式最佳实践
1.double-check懒汉模式public class Singleton { private Singleton() { } private static Object INSTANCE = null; public static Object getInstance() { if(INSTANCE == null){ ...原创 2019-04-01 16:06:30 · 143 阅读 · 0 评论 -
Android获取手机通讯录信息
List&lt;Contact&gt; list = new ArrayList&lt;&gt;(); Cursor cursor = getContentResolver().query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null); int cont...原创 2018-11-13 00:32:56 · 3520 阅读 · 2 评论 -
关于给Dialog设置setCanceledOnTouchOutside(true)后如何监听Dialog消失
我们设置点击Dialog以外的区域时Dialog消失的设置如下:dialog.setCanceledOnTouchOutside(true);首先看Dialog的 setCanceledOnTouchOutside(true)的方法里究竟是什么代码,点击进入Dialog的源码可以看到方法public void setCanceledOnTouchOutside(boolean cancel) {原创 2017-05-28 19:45:53 · 11846 阅读 · 1 评论 -
Android混淆整理
代码混淆规则指定代码的压缩级别 -optimizationpasses 5是否使用大小写混合-dontusemixedcaseclassnames是否混淆第三方jar. -dontskipnonpubliclibraryclasses混淆时是否做预校验 -dontpreverify混淆时是否记录日志 -verbose混淆时所采用的算法:-optimizations!code/simplificati原创 2017-03-28 21:12:27 · 399 阅读 · 0 评论 -
调取系统相机
如何调取系统相机进行拍照,然后获取到照片URI原创 2016-03-27 20:52:19 · 334 阅读 · 0 评论 -
Rxjava的Observable创建操作符介绍
通过简单的例子介绍Rxjava的Observable的创建操作符:Create,From,Interval,Just,Range,Repeat,清楚明白地知道各创建操作符创建出来的Observable之间的异同。原创 2016-04-08 17:28:25 · 2498 阅读 · 0 评论 -
浅析MVP模式
MVP模式与MVC模式最大的区别就是View不与Model打交道,而是通过Presenter来与Model交互,而且Presenter实现的逻辑代码与具体View是没有关联的,它不属于任何具体的View,而只是通过约定好的接口来交互。原创 2016-03-31 17:45:23 · 417 阅读 · 0 评论 -
Android事件机制
Android事件机制分为按键事件和触摸事件,以下主要是讲触摸事件机制。主要的三个方法是:事件分发:public boolean dispatchTouchEvent(MotionEvent ev)事件拦截:public boolean onInterceptTouchEvent(MotionEvent ev) 事件响应(消费):public boolean onTouchEven原创 2016-02-29 21:38:52 · 365 阅读 · 0 评论 -
用优雅的方式解决重复点击的困扰
利用rxbinding优雅地解决控件短时间内重复点击的问题原创 2016-03-29 22:18:52 · 901 阅读 · 0 评论