自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 收藏
  • 关注

原创 【持续更新】Gradle 相关问题解决 & 疑难杂症记录

android gradle 构建常见问题解决记录与版本参考

2020-05-17 21:31:22 2619 1

原创 【安卓面试】Kotlin知识点盘点

CoroutineScope 的实例可以通过 CoroutineScope() 或 MainScope() 的工厂函数来构建。前者创建通用作用域,后者创建 UI 应用程序的作用域并使用 Dispatchers.Main 作为默认的调度器${Threadname")// 关闭自定义线程池Executors)?

2024-02-28 23:43:07 943

原创 【Gradle】AGP升级7.0及适配Replugin的多包名工程改造

随着AGP版本以及kotlin的普及,以及compose逐渐被大家接受,为了可以使用更多的新特性以及更好的性能,升级Android Gradle Plugin(AGP)以及Kotlin Gradle Plugin (KGP)已经是必不可少的步骤之一,其中AGP版本7.0、8.0的更新有较大的变化,本文会对自己的玩安卓项目进行AGP7.0的升级并且分享最近遇到的多包名工程化改造以及适配遇到的问题。

2023-12-20 00:22:43 1804

原创 【性能优化】安卓性能优化之内存优化

安卓内存优化小结

2023-08-28 17:22:50 960

原创 【安卓逆向】APK修改与反编译回编译

修改APK与反编译回编译备忘

2023-02-19 20:28:28 3806

原创 【安卓逆向】Frida入门与常用备忘

frida使用入门与常用小结

2023-01-18 15:07:55 1079

原创 【问题解决】Android JDK版本不匹配导致崩溃踩坑记录

Android APK/AAR编译 对于JDK8字节码的处理

2022-12-04 00:15:21 1328

原创 【安卓面试】Android知识点记录

Android知识点盘点(附答案)

2022-07-30 18:20:06 1024

原创 【安卓面试】Android三方框架原理学习笔记

Android面试必备!常见三方框架原理重点解析

2022-07-29 15:23:49 1544

原创 【安卓面试】网络基础及Android网络框架学习笔记

Android面试必备!包含基础知识和三方框架的整理概括!可当做面试复习索引

2022-07-28 12:01:31 1810 1

原创 【安卓面试】Android Jetpack框架原理学习笔记

高度概括的Jetpack框架原理

2022-07-27 17:55:11 2405

原创 Java设计模式

设计模式参考:菜鸟教程单例模式保证在同一个进程只拥有一个实例单例类只能有一个实例。单例类必须自己创建自己的唯一实例。单例类必须给所有其他对象提供这一实例。实现:持有一个该例的全局静态变量 public static Earth earth;将构造方法私有 private创建外部调用方法返回实例饿汉式:线程安全,但是在类加载时就初始化,浪费内存,容易产生垃圾对象pub......

2022-07-11 13:42:06 1119

原创 组件化解耦 | 浅析ARouter路由发现原理与简单实践

组件化解耦 | 浅析ARouter路由查找原理前言项目地址/资源项目概览路由动态注册与生成技术要点APT处理注解路由初始化前言作为路由框架,阿里的ARouter应该算是路由框架的经典了,上一次用到ARouter还是在上家公司做App,当然对于SDK开发来说,ARouter不免有点过重了,里面有大量对Activity和Fragment的业务,对于SDK解耦基本用不上,但是我们还是可以参考ARouter的路由发现思路,完成一个自己的小路由框架,直接进入主题吧项目地址/资源ARouter项目概览对

2022-01-04 21:22:47 2353 1

原创 Android 打包动态修改Application类继承

Android 动态修改Application类继承背景具体实现引入依赖库具体实现背景Android在接入各类渠道SDK的时候,常常会遇到需要继承三方Application的情况;网上几种方案:利用代理模式实现多继承利用gradle 不同的favor实现不同渠道打包利用gradle插件,动态修改字节码为了不维护多个风味,本文要分享的是第三种方案,直接通过自定义的标识去动态修改字节码实现不同渠道继承所需要的三方application类具体实现知识点包括:自定义gradle插件t

2021-01-31 22:00:32 515

原创 计算机基础学习笔记 | 数据结构基础

数据结构基础十种常用数据结构十种常用的算法时间复杂度空间复杂度基础数据结构数组 array读取元素更新元素插入元素删除元素链表基础数据结构:数据的组织、管理、存储格式,其目的是为了高效的访问和修改数据算法:一系列程序指令,用于处理特定的运算和逻辑问题十种常用数据结构数组链表栈队列散列表二叉树堆跳表图Trie 树十种常用的算法递归排序二分查找搜索哈希...

2020-04-10 15:42:37 475

原创 开发艺术之旅 | 四大组件的工作过程

开发艺术之旅 | 四大组件的工作过程Activity的工作过程Activity的工作过程从最常使用的StartActivity方法开始,流程过程如下:最后调用到app.thread.scheduleLaunchActivity,而app.thread是一个IApplication类型的IInterface接口,其之后关系图如下:在这个方法里,向一个Handler发送了一个消息,调用pe...

2020-03-25 17:32:26 146

原创 手把手教你封装一个好用的okhttp请求框架

手把手教你封装一个好用的okhttp请求框架前言OkHttpClient 客户端前言在Android开发中网络框架的使用是必不可少的,okhttp相信大家一定不陌生,本篇基于okhttp进行二次封装,实现简单快捷的okhttp封装。阅读前提:知道okhttp的简单使用。主要包括四个部分:请求client请求参数Request封装请求结果 & 错误解析OkHttpCli...

2020-02-27 17:48:47 775

原创 开发艺术之旅 | Activity 生命周期和启动模式

生命周期生命周期状态工作onCreateActivity正在被创建可以做一些初始化工作onRestartActivity从不可见重新变成可见onStartActivity正在被启动,“可见”但不在前台onResumeActivity可见并且出现在前台,可交互onPauseActivity正在停止,接下来一般会调用onStop存储工...

2020-01-20 13:39:16 1049 2

原创 开发艺术之旅 | 浅析Window和WindowManager

开发艺术之旅 | Window和WindowManager初识WindowWindow以及其内部机制内部机制添加Window删除过程更新过程初识WindowWindow表示一个“窗口”的概念,用于展示给用户,View是其具体实现,Window是View的实际管理者表示Window抽象类,具体实现是PhoneWindow,即Activity视图层级下我们看到的那个WindowManag...

2020-01-08 16:55:09 492

原创 开发艺术之旅 | IPC机制

开发艺术之旅 | IPC机制基础使用多进程模式序列化传输数据SerializableParcelableBinder使用AIDL文件了解Binder机制IUserManager.java 结构Stub类Stub.Proxy 类小结Android几种IPC机制Messenger使用AIDL经常会听到AIDL、Binder机制,但是其实很多时候用不到(可能只是我用得少hhh),有时间来总结下吧,先看......

2019-12-11 22:31:23 405

原创 Okhttp学习笔记(三)核心之二:okHttp拦截器链

Okhttp学习笔记(三)核心之二:okHttp拦截器链学习资料:拦截器链学习资料:BAT大牛带你深度剖析Android 十大开源框架上一篇文章:Okhttp学习笔记(一) 初步认识&& 源码浅析Okhttp学习笔记(二)核心之一:Dispatcher拦截器链前面可以看到,获取的response都是通过 getResponseWithInterceptorChain这...

2019-12-10 18:27:31 381

原创 开发艺术之旅 | View的工作原理

开发艺术之旅 | View的工作原理ViewRoot 和 DecorViewViewRoot 和 DecorView当Activity对象创建完毕后,会将DecorView添加到Window中,同时会创建ViewRootImpl,并且将ViewRootImpl和DecorView建立关联...

2019-11-26 21:29:33 437

原创 2020Android初中级面试题记录

2019Android初中级面试题记录Java网络编程Android马上就2020年啦,对工资有想法可以开始准备下年后的跳槽季(手动滑稽)这几天出去面试了一下,作为一个19届刚刚毕业的小安卓,虽然算起来毕业也才三四个月,但是算起来实习到现在也差不多一年啦,但是发现外面的公司好像还是会把你当应届生看待(好像本来就是),抓住这短暂的时机,加油吧!JavaQ:equals与==的区别==是...

2019-11-20 22:36:25 899

原创 Android组件化之路记录

Android组件化之路踩坑踩坑ARouter使用基础配置在kotlin中的初始化配置基础使用build.gradle 配置自定义输出apk名字读取config.gradle的配置信息version.gradle 依赖版本配置Bug 记录**No module name**buildOutput.apkData must not be nullBinary XML file line #24: B...

2019-11-05 14:00:12 418

原创 Okhttp学习笔记(二)核心之一:Dispatcher

Okhttp学习笔记学习资料:学习资料:BAT大牛带你深度剖析Android 十大开源框架

2019-11-05 10:48:00 262

原创 Okhttp学习笔记(一) 初步认识&& 源码浅析

Okhttp学习笔记同步请求使用步骤源码分析创建okhttpclient构建Request对象构建Call对象完成同步请求同步请求发起请求后,会进入阻塞状态,知道收到响应使用步骤创建一个OkHttpClient对象构建一个Request对象,通过OkHttpClient和Request对象,构建出Call对象执行call的execute方法源码分析创建okhttpclient...

2019-10-27 20:44:49 264

原创 三步简单实现Android 共享元素转场动画

三步简单实现Android 共享元素转场动画先上效果图Step 1Step 2 在启动的Activity绑定控件Step3 目标Activity绑定控件拓展以及小问题退出带动画api:结合Glide使用会出现Imageview、PhotoView自动放大、模糊等问题,给动画添加监听器先上效果图Step 1在Activity主题style文件加入这行<item name="andro...

2019-10-09 22:31:37 608

原创 Kotlin 类与对象之构造函数(四)

类关键字:Class构造函数主构造函数次构造函数主构造函数只能有一个主构造函数,主构造函数为类头的一部分:在类名之后class Person constructor(firstName: String) { ... }主构造函数不能包含任何代码,初始化的代码可以放到以 init 关键字作为前缀的初始化块class test(arg : Int){ init{ ...

2019-09-15 23:07:46 171

原创 Kotlin lambda表达式

官方文档官方文档使用完整语法lambda 表达式总是括在花括号中, 完整语法形式的参数声明放在花括号内,并有可选的类型标注,函数体跟在一个 -> 符号之后。如果推断出的该 lambda 的返回类型不是 Unit,那么该 lambda 主体中的最后一个(或可能是单个)表达式会视为返回值。lambda表达式总是在花括号内!!,其参数可以放在花括号里面!!val sum: (I...

2019-09-15 22:59:26 204

原创 Kotlin 函数进阶 作用域函数:let、with、also...

Kotlin—— 作用域函数概述官方文档简介作用五个函数★区别区别详解引用方法: this 还是 it使用this的函数使用it的函数返回值返回上下文对象(本身)返回Lambda表达式结果( 返回一个结果 默认为最后一行代码 可以为空)五个函数详解let (使用it 、返回lambda对象)with (使用this,返回lambda结果)run (使用this,返回lambda结果)apply(使...

2019-09-15 22:43:23 431

原创 Kotlin 类与对象 —— 数据类

数据类定义一个数据类自动从声明的所有属性导出以下成员:数据类满足条件复制 copy()函数componentN关键字 data定义一个数据类data class PersonD(val age : Int, val name: String,val area: String)便可以实现 getter、setter、equals、toString等方法自动从声明的所有属性导出以下成员:...

2019-08-29 10:32:27 241

原创 Kotlin 解构声明

Kotlin 解构声明为什么会有怎么用在Map上使用为什么会有在java中,我们需要一个构造一个对象并且可能会用到构造对象时的参数,例如 int age = 22; String name = "Tom"; Person p = new Person(age,name); Log.d(TAG,name);Kotlin 提供一个更为简洁的用法怎么用还是那个例子,一个Per...

2019-08-29 10:32:00 569

原创 Kotlin之路——开始

开始基础资料网址从实习面试第一次听到Kotlin开始,就一直觉得这东西好像很高大上的样子~实习这半年来,说真的学到了不少东西,也看到了不少东西。一边是“安卓要凉啦”的焦虑,一边是自己喜欢的东西,总是难以割舍。最后还是决定在这条路上走下去。一晃半年过去啦,跌跌撞撞终于开始学一下kotlin,对于一个非科班出身的码农来说要学的东西实在太多了。不说了,开始记录一下Kotlin的学习笔记吧基础基础...

2019-08-15 22:24:13 120

原创 Kotlin 条件控制知识(三)

Kotlin 条件控制知识if操作符使用区间when 三种情况类似于switch不带参数,类似于 if-else-if直接返回赋值for循环带索引的遍历遍历mapwhile && do...while返回、跳转标签限制跳转if操作符三元操作符 val c = if (condition) a else bif表达式结果赋值给变量 val max = if(a>b){ ...

2019-08-15 22:22:58 204

原创 Kotlin基础知识(一)

基础知识函数定义常量&变量定义字符串Null 检查机制类型检测及自动类型转换区间一个对象实例调用多个方法(with)交换两个值可空布尔值学习资料函数定义关键字:fun指定返回类型:fun sum(a : Int,b : Int): Int{ return a+b}不指定返回类型:fun sum2(a:Int,b: Int) = a+b无返回类型:fun sum4(a:Int,...

2019-08-15 22:19:47 202

原创 Kotlin基础数据类型(二)

Kotlin基础数据类型基本数据类型字面常量数字比较类型转换位操作符字符数组字符串基本数据类型类型位宽Double64Float32Long64int32short16byte8字面常量十进制:123长整型:123L16进制:0x0F2进制:0b00001010不支持八进制double默认写法:123.5,123...

2019-08-15 22:08:30 193

原创 适配7.0,Android 打开相册、拍照、裁剪图片的用法、细节处理

Android 打开相册、拍照、裁剪图片的坑

2019-05-30 13:31:31 483

原创 Android 本地文件缓存各个方法获取的路径小结

Android 本地文件缓存各个方法获取的路径小结引言获取路径的几种方法先看测试代码以及打印的日志打印的日志分析常用的几个转换方法File 转 UriUri 转 File文件路径转BitmapBitmap 转 文件引言日常的开发中总是会遇到需要缓存一些文件到本地,一直以来对获取缓存路径的几个方法对应的路径一直有点迷糊,有空小结一下几个方法对应的路径获取路径的几种方法先看测试代码以及打印的日...

2019-05-30 13:29:59 3002

原创 四大组件之Service 小知识点

四大组件之Service前言使用前言Service 服务,即我们常指的“后台”,常用于一些不需要界面又需要长期运行的任务,例如后台下载、音乐播放。Service默认运行于主线程,因此若在Service执行一些耗时操作,可能会导致ANR,因此在执行耗时操作时常会开启一个子线程。常用的Service有IntentService,IntentService默认运行于子线程,且运行完后会自动销毁,适合...

2019-05-14 17:07:36 212

原创 FileProvider 调用系统相机拍照 出现on a null object reference的问题

开发过程中需要调用系统照相机拍照并裁剪对于系统调用相机拍照并保存有点忘记了,于是就直接拿同事的套上用了,结果从相册选中没有问题,但是通过相机拍照却出现了这个问题‘android.content.res.XmlResourceParser android.content.pm.ProviderInfo.loadXmlMetaData(android.content.pm.PackageMana...

2019-03-14 09:56:53 839

空空如也

空空如也

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

TA关注的人

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