- 博客(49)
- 资源 (6)
- 收藏
- 关注
原创 从内存角度了解volatile的使用
volatile发生的场景,以及CPU的时间片轮转、Java内存模型、高速缓存、lock指令等基础讲述。其中包括volatile解决的可见性和有序性原理进行底层分析。
2022-06-07 01:13:47 365
原创 关于解决Android系统开发者选项关闭动画后ValueAnimator不生效的问题
1.关于解决系统开发者选项关闭动画后动画不生效的问题2.如何突破Android P的接口限制3.如何生成DEX文件
2022-05-06 17:45:04 3877 2
原创 动态添加View,为什么margin会失效
目录一.场景二.如何动态插入View (源码:SDK30)三.代码实现第一种实现方法第一种,设置root==mainRoot,attchToRoot==false第二种,设置root==null,attchToRoot==false源码分析(root与attachToRoot区别)四.总结例如现在我们需要在布局中添加一个如下面的一个跑步提示,我们有多少种方法实现?1.直接在想要插入的xml布局中写2.直接用代码生成布局,在代码中动态的插入(addView)3.单独写一个xml布局,在代码中动态的插入(add
2022-02-28 16:32:18 3545
原创 Android adb调试指令大全
在日常开发中,我们会经常需要用到 adb 调试指令来查看设备的状态、运行信息等。下面是一些常用的 adb 指令,以及它们的用法和调试效果,供大家参考。
2023-03-27 19:00:00 1266 1
原创 Android Framework实战:AMS HOOK实现集中登陆
AMS在应用端的实际应用。如何去hook AMS的源码,以此来实现一些类似黑科技的技术。
2022-09-16 17:23:12 1906
原创 Android Framework基础知识:AMS职责
startActivity的启动流程暨AMS职责启动流程大概分为三步:Activity 把启动任务交给 AMS AMS 去找 PMS 获取Activtity相关信息AMS 把相关信息发送给ActivityThread,由ActivityThread来创建启动的Activity
2022-09-16 16:20:44 973
原创 Android Framework基础知识:Zygote启动流程
主要讲述Android Framework的Zygote如何启动流程和启动后一些相关任务。
2022-07-27 17:45:37 1276
原创 Android Gradle Plugin 开发问题记录:Class xxx is final
Class xxx is final问题解决与分析
2022-06-14 18:37:08 491
原创 Android编译时技术(三)ASM 基础使用之代码修改
如何使用ASM加载一个Class文件,并对其文件内容进行增加修改。以及一些ClassReader、ClassVisitor、MethodVisitor、AdviceAdapter、FieldVisitor的用法介绍。
2022-05-29 17:18:46 1907
原创 Android编译时技术(二)ASM 基础使用之代码生成
介绍如何使用ASM生成一个Class代码,以及ASM的方法使用以及参数详解和一些Java字节码知识。
2022-05-28 09:59:13 3001 4
原创 Android Gradle(九)自定义Transform,使用Javassist工具插入和删除代码
安卓自定义Transform任务,使用Javassist对代码进行插入和删除。
2022-05-25 19:40:13 2565 6
原创 Android编译时技术(一)Javassist 基础使用
介绍字节码工具Javassist基本使用,如何生成Class文件和修改Class文件里面的变量、构造方法和普通方法。
2022-05-24 00:30:29 3004 2
原创 Android内存优化(一)内存泄露监测与问题排查
介绍在安卓中如何去监测和排查内存泄露的问题和LeakCanary、Android Studio Profiler和MAT工具的详细介绍和使用。
2022-04-22 18:30:47 3919
原创 Android Studio 关于[Fatal Error] commons-parent-34.pom:1:44: 前言中不允许有内容的错误
Android studio 关于Fatal [Error] commons-parent-34.pom:1:44: 前言中不允许有内容的错误
2022-04-14 10:27:26 1721
原创 Variable ‘xx‘ is accessed from within inner class, needs to be declared final
Variable 'xx' is accessed from within inner class, needs to be declared final。final修饰的问题和JDK版本差异
2022-02-19 23:50:14 10730
原创 Android Gradle(三)根节点的build.gradle详解
Android Gradle 根节点的build.gradle参数详解
2022-02-17 09:14:15 5060 1
原创 动态代理-事件注入(二)
反射方法代码总结:getMethod 可以获取父类的方法 getDeclaredMethod 不行,都不能获取父类的私有方法getMethod getDeclaredMethod 都可以获取自己类的方法。但是对于私有方法,必须使用getDeclaredMethod,然后setAccessiblegetField getDeclaredField 都可以获取父类的变量,都不能获取父类的私有方法getField getDeclaredField 都可以获取自己类的变量。但是对于私有方法,必须使用
2022-01-14 18:12:10 2130
原创 动态代理-事件注入(一)
1.目的:通过代理的方式去注册控件的点击事件,长按事件等其他事件。优点:隔离代码层,解耦 缺点:运行时反射的效率低2.第一版本(先不用动态代理):2.1 创建一个注解类 (用来区分方法是否需要注册点击事件)@Retention(RetentionPolicy.RUNTIME)@Target(ElementType.METHOD)public @interface OnClick { //接收控件的ID int[] value() default -1;}2.2
2022-01-14 18:10:49 1643
简单的新闻APP简单的新闻APP
2018-07-20
简易ATM系统简易ATM系统简易ATM系统
2018-07-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人