自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(118)
  • 资源 (4)
  • 收藏
  • 关注

原创 APP生命周期前后台切换

【代码】APP生命周期前后台切换。

2023-05-09 15:27:34 179

原创 Volatile

问题:Volatile是如何保证的可见性?

2023-05-06 20:50:44 86

原创 高阶知识点总结

6、android绘制。

2023-04-28 10:09:47 91

原创 ReentrantLock 学习

可重入琐

2023-03-19 21:39:33 260

原创 Retrift

Retrift

2023-01-02 21:56:25 679

原创 Android网络知识总结

网络

2022-12-31 21:07:25 61

原创 ASM插桩举例

如何使用ASM给android的某个函数做插桩?

2022-10-09 14:32:27 584

原创 java动态代理与静态代理的区别

动态代理

2022-10-03 19:26:23 906

原创 Android AIDL跨进程通信

RPC

2022-10-01 21:26:09 1330

原创 ContentProvider执行时机

调用顺序: Application 构造方法 –> Application.attachBaseContext –> ContentProvider.onCreate –> Application.onCreate –> Activity.onCreate。

2022-09-29 11:17:19 264

原创 简单工厂模式、工厂方法模式和抽象工厂模式

简单工厂

2022-09-15 14:11:21 127

原创 重拾设计模式

为何又重新整理起来设计模式,目前开发已经5年多,日常开发过程中也偶有用到例如工厂模式、观察者模式、builder模式、单例模式等,但是真正对于什么模式可以解决什么问题还是不够熟稔于心,做不到灵活运用,所以在此时此刻,有必要重新整理一遍面向对象的基本原则和设计模式,力求达到熟稔于心、融会贯通、熟稔于心:

2022-09-15 12:20:15 59

原创 The binary version of its metadata is 1.6.0, expected version is 1.4.2.

kotlin 版本不一致导致编译不过

2022-07-29 12:13:37 4325

原创 Android中 DialogFragment 全屏时 在android11机型失效的问题

由于 Window 的 decorView 默认是设置有 10dp 的padding。需要获取到decorView后设置其padding为(0, 0, 0, 0) 即可。override fun onStart() { Logger.i(TAG, "onStart") super.onStart() setWindowParam() } /** * 设置dialog的 window 参数 */ private f

2021-10-13 10:28:36 403 1

原创 设置图片的透明度从左到右渐变

一、设置图片的透明度从左到右渐变/** * 设置图片的透明度从左到右渐变,使右边缘平滑过渡(注意只跟着x坐标变) * * @param num 范围为0-100,0为全透明,100为不透明 */ public static Bitmap getTransAlphaBitmap(Bitmap sourceImg, float num) { if (sourceImg == null) { return null;

2021-09-09 16:24:02 1980 1

原创 Gradle知识点

1、applicationVariants参考:https://developer.android.com/reference/tools/gradle-api/7.0/com/android/build/api/variant/ApplicationVariantbuild.gradleandroid.applicationVariants.all { variant -> println("applicationVariants") println(variant.name

2021-05-22 11:02:20 350

原创 使用Nexus搭建自己的Maven私服

转载:1、使用Nexus搭建自己的Maven私服及上传下载aar2、publish时出现400,bad request 可能的俩原因

2021-05-19 12:23:30 95

原创 Android单元测试

1、Android-UnitTest2、Android单元测试(四):Robolectric框架的使用

2020-06-27 18:29:44 161

原创 HTTPS数据传输流程

1.客户端向服务器端发起HTTPS请求,连接到服务器端的443端口上2.服务器端有一个秘钥对,即公钥和私钥,是用来进行非对称加密使用的,服务器端保存着私钥,将公钥发送给客户端3.客户端收到服务器端的公钥之后,对公钥进行检查,验证其合法性,如果发现公钥有问题,那么HTTPS传输无法继续;如果合格,那么客户端会生成一个随机值,这个随机值就是用于进行对称加密的秘钥,即客户端秘钥,然后用服务器端的公钥对客户端秘钥进行非对称加密,这样客户端秘钥就变成了密文了,至此,https中的第一次HTTP请求结束4.客户端

2020-05-14 11:03:24 990

原创 图片打标签之获取图片在ImageView中的坐标

android matrix 最全方法详解与进阶(完整篇)imageView = findViewById(R.id.imageview); imageView.setOnClickListener(new View.OnClickListener() { @Override public void onClick...

2020-04-19 17:30:36 920

原创 RecyclerView滚动到指定位置

1、mLayoutManagerprivate void moveToPosition(int position) { if (position >= 0) { mLayoutManager.scrollToPositionWithOffset(3, 0); } }2、LinearSmoothScrollermTopSm...

2020-04-10 16:26:56 525

原创 Kotlin基础

一. Kotlin 基础知识1. HelloWorld:fun main(args: Array<String>){ System.out.println("hello world")}2、常见数据类型3、类型推断4、取值范围var aByte:Byte = Byte.MAX_VALUEvar bByte:Byte = Byte.MIN_VALUE5、函...

2020-04-04 11:25:53 258

原创 Kotlin学习笔记

文章目录一. Kotlin 基础知识1.1 函数结构:1.2 变量1.3 when、循环语句1.3.1 when1.3.2 循环语句1.4 Kotlin 异常处理1.5 "?" 和 "!!"1.6 重载调用函数1.7 顶级函数和属性(静态的)1.8 可变参数 和 展开操作符1.9 中缀调用infix1.10 本地函数1.11 访问修饰符一. Kotlin 基础知识1...

2020-04-04 11:15:26 382

原创 Hook技术

参考:https://www.jianshu.com/p/4f6d20076922使用 Java 反射实现 API Hook通过对 Android 平台的虚拟机注入与 Java 反射的方式,来改变 Android 虚拟机调用函数的方式(ClassLoader),从而达到 Java 函数重定向的目的,这里我们将此类操作称为 Java API Hook。下面通过 Hook View 的 OnC...

2020-02-04 17:40:44 172

原创 动态代理

代理模式的应用场景:1、例如要给某个方法加上监控,记录方法开始时候的时间,方法结束时的时间。静态代理:静态代理缺点:接口与代理类是1对1的,有多个接口需要代理,就需要新建多个代理类,繁琐,类爆炸。 public interface IPerson { void say(); } public static class Man implements I...

2020-02-04 16:47:09 131

原创 android计算bitmap内存及内存优化

参考:https://www.cnblogs.com/dasusu/p/9789389.htmlhttp://www.cocoachina.com/articles/30884计算公式:1、如果设置了inSampleSize=1,2,4,8 , 则相应的Sample高度 = 原图高度 * 1,1/2, 1/4, 1/8;Sample宽度 = 原图宽度 * 1,1/2, 1/4, 1/8...

2020-01-11 21:51:15 417

原创 八个经典的java多线程编程题目

文章目录1、要求线程a执行完才开始线程b, 线程b执行完才开始线程2、两个线程轮流打印数字,一直到1003、写两个线程,一个线程打印1~ 52,另一个线程打印A~Z,打印顺序是12A34B...5152Z4、编写一个程序,启动三个线程,三个线程的ID分别是A,B,C;,每个线程将自己的ID值在屏幕上打印5遍,打印顺序是ABCABC...5、编写10个线程,第一个线程从1加到10,第二个线程从11加...

2020-01-01 18:01:32 17099 6

原创 requestLayout() 、invalidate()、postInvalidate()原理

参考:https://www.cnblogs.com/tiger-wang-ms/p/6592189.htmlhttps://blog.csdn.net/a553181867/article/details/51583060结论:view调用invalidate将导致当前view的重绘(draw调用),view的父类将不会执行draw方法;viewGroup调用invalidate会使vi...

2019-12-21 23:54:59 194

原创 activity主题

1、沉浸式主题<style name="Theme.Gallery" parent="android:Theme.Light.NoTitleBar.Fullscreen"> <item name="android:windowBackground">@color/black</item> <item name="andro...

2019-11-22 17:53:12 161

原创 多线程----ConcurrentHashMap

学习ConcurrentHashMap需要达到以下三点:一、比较HashMap为什么不是线程安全的,及HashTable是如何实现的安全的,并且HashTable有什么问题?二、深入理解CHM各项并发优化的原理。三、掌握锁优化的方法。一、比较HashMap为什么不是线程安全的,及HashTable是如何实现的安全的,并且HashTable有什么问题?1、HashTable的问题(很暴力)...

2019-11-10 14:54:20 441

原创 多线程---线程安全

线程安全是开发者在开发多线程任务时最关心的问题,那么线程安全需要注意哪些呢?一、思考:线程安全产生的原因是什么?二、final,volatile关键字的作用?三、1.5之前的javaDCL有什么缺陷?四、如何编写线程安全的程序?五、ThreadLocal使用的注意事项有哪些?一、思考:线程安全产生的原因是什么?原因:可变资源(内存)线程间共享由Java的内存模型:各线程都有自己的工...

2019-11-10 11:10:46 139

原创 多线程专题---如何停止一个线程

最近做项目及看别人源码过程中涉及到多线程的知识,感觉自己多线程方面还不够系统,所以需要系统的总结一下这方面的知识。先从如何停止一个线程开始:这里先记下最关键的一点:停止线程:应该代码逻辑上停止线程中的任务从而让线程自动停止,而不是强制停止线程自身下面先问自己几个问题,由浅入深的学习线程知识:1、是否了解线程的用法?2、是否了解对线程的stop,suspend,resume方法?3、线程...

2019-11-09 16:54:07 291

原创 android手机分辨率

1、手机分辨率4:3VGA 640*480 (Video Graphics Array)QVGA 320*240 (Quarter VGA)HVGA 480*320 (Half-size VGA)SVGA 800*600 (Super VGA)5:3WVGA 800*480 (Wide VGA)16:9FWVGA 854*480 (Full Wide VGA)H...

2019-09-15 12:25:23 2783

原创 一张点9图实现android悬浮背景效果

超级简单的悬浮效果,推荐给大家效果图如下:点9背景图(下载即可用):

2019-09-14 22:54:28 659

原创 addOnPreDrawListener()的在recycleView中使用的坑

addOnPreDrawListener()在recycleView的item中使用时,即使使用removeOnPreDrawListener(this),但是onPreDraw()还是会被多次调用。approveTextView.getViewTreeObserver().addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener()...

2019-09-05 10:27:33 1837

原创 Android图片打标签

最近项目要实现一个图片打标签的需求,在这里分享一个简易版的打标签: 1、点击图片任意位置跳转到标签列表页,选择后,标签锚点到点击位置。 2、点击锚点反转标签。 3、拖拽标签,限制在图片区域内。实现的方案1、用FramLayout:先加ImageView用于显示图片,再加标签View显示在图片上层。2、tagBean记录 标签锚点位置 与 图片左上角距离的...

2019-09-01 15:05:48 2113

原创 低灵敏度SwipeRefreshLayout

低灵敏度SwipeRefreshLayoutpackage com.ss.android.homed.pm_home.decorate.view;import android.content.Context;import android.support.v4.widget.SwipeRefreshLayout;import android.util.AttributeSet;impor...

2019-04-28 20:58:32 424

原创 策略模式

一、类图:三个角色:使用环境角色:抽象策略角色:具体策略角色:二、举例:例如:TreeSet中:UseContext : TreeSetIStrategy : ComparatorTreeSet<Integer> treeSet = new TreeSet<Integer>(new Comparator<Integer>() { ...

2019-04-14 14:56:36 99

原创 android源码(1)LiveData源码

2、LiveData如何感知生命周期?SupportActivity中:public class SupportActivity extends Activity implements LifecycleOwner { @Override @SuppressWarnings("RestrictedApi") protected void onCreate(@Nu...

2019-03-26 16:12:57 214

原创 android进程保活

文章目录一、android进程的优先级二、android进程的回收策略三、进程保活方案1、利用系统广播拉活2、利用系统Service机制拉活3、利用native进程拉活4、 利用JobScheduler机制拉活5、利用账户同步机制拉活一、android进程的优先级二、android进程的回收策略三、进程保活方案1、利用系统广播拉活缺点:1)、系统广播不可控,只有在系统广播发生的时候...

2018-12-05 00:17:24 176

javax.script.jar

javax.script.jar

2021-01-08

jython-standalone-2.7.0.jar

2017-01-10

genymotion-arm-translation

目的:用于处理genymotion调试时出现INSTALL_FAILED_CPU_ABI_INCOMPATIBLE 方法:1.打开genymotion虚拟机 2.将该zip文件拖入虚拟机界面,待有提示框出现则点击确定 3.重启虚拟机

2016-12-27

arm-genymotion to translation.zip

目的:用于处理genymotion调试时出现INSTALL_FAILED_CPU_ABI_INCOMPATIBLE 方法:1.打开genymotion虚拟机 2.将该zip文件拖入虚拟机界面,待有提示框出现则点击确定 3.重启虚拟机

2016-12-27

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除