自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Google二签导致Facebook无法登录的解决方案。

大事不好了,Google政策又双叒叕调整了。Google现在要求新上架应用必须使用启用Google签名计划,才能发布上架。

2023-11-14 17:34:55 171 1

原创 gradle命令中api和implement的区别

apply plugin: ‘maven’uploadArchives{repositories {mavenDeployer{repository(url: uri(‘E:/mavenRes/demoPlugin’))pom.groupId = ‘com.coding.util’pom.artifactId = “demo”pom.version = ‘1.1.1’}}}

2021-03-08 17:01:25 1558 1

原创 kotlin中?.与!!.的区别

kotlin中声明可空变量:var str:String? = nullstr?.length的作用等同于如下代码:if (str != null) { str.length} else {}str!!.length等同于如下代码:if (str != null) { str.length} else { throw NullPointerException()}总结:当可空对象使用?.调用方法时,若对象为null,则不进行任何操作;而使用!!.调用

2021-03-08 16:34:13 189

原创 《Android移动性能实战》总结

本文内容均来自于《Android移动性能实战》书中每章末总结:一、磁盘优化遵循规则标准优先级规则起源避免主线程I/O避免主线程操作文件和数据库P050%以上卡顿问题都是由主线程I/O引起的用apply代替sharePreference.commitP1Apply是异步操作,commit是同步操作提前初始化sharePreferenceP1在多进程和旧版本的Android中,初始化过程的I/O读/写是在主线程的减少I/O读写量利用缓存减少重复读

2020-12-25 15:44:20 267

原创 JAVA基础之JVM垃圾回收简单浅析

一、为什么需要垃圾回收如果不进行垃圾回收,内存迟早都会被消耗空,因为我们在不断的分配内存空间而不进行回收。除非内存无限大,我们可以任性的分配而不回收,但是事实并非如此。所以,垃圾回收是必须的。二、哪些内存需要回收?哪些内存需要回收是垃圾回收机制第一个要考虑的问题,所谓“要回收的垃圾”无非就是那些不可能再被任何途径使用的对象。那么如何找到这些对象?1、引用计数法这个算法的实现是,给对象中添加一个引用计数器,每当一个地方引用这个对象时,计数器值+1;当引用失效时,计数器值-1。任何时刻计数值为0的对象

2020-12-11 11:04:05 74

原创 Android热更新方法总结

文章目录Dex更新Res更新Dex更新动态改变BaseDexClassLoader对象间接引用的dexElements:Classloader加载类是从DexElements依次遍历dex,如果dex中有该类则返回,没有则遍历下一个dex,所以Hotfix的解决方式就是改变dexElements中dex的顺序,具体实现方式是通过反射的方式获取应用的PathdexClassloader—>PathList—>DexElements,再获取补丁dex的DexClassloader—>Pa

2020-11-23 16:50:14 917 2

原创 JAVA反射机制,获取JAVA类的成员信息

Java中的反射机制,使得我们可以在运行期获取Java类的字节码文件中的构造函数,成员变量,成员函数等信息。1. 获取Class对象的三种方式:Class.forName(“类名字符串”)(注意:类名字符串必须是全称,包名+类名) Class baseInfo = Class.forName("top.sguotao.ReflectionJava");类名.class Class object = Object.class;实例对象.getClass() Class da

2020-10-26 10:18:43 828

原创 插件化之APK动态加载,看这篇就够了

最近在研究apk的动态加载,无论是在简书还是CSDN上阅读了很多博客,但是发现很多博主虽然讲的很详细,但是很多文章都是14,15年的,而且有的文章并没有提供demo或者提供的demo根本跑不起来,搞得我一脸懵逼,学习遇到了很多阻力。但是呢,天道酬勤,最终在刻苦钻研几天后,对动态加载算是有了一定的眉目,且听我下文缓缓道来。首先动态加载apk,一定会有一个宿主apk和一个插件apk,所谓的动态加载,无非是在宿主的apk中,加载插件apk里的activity,类似于支付宝中打开飞猪、淘票票等页面。而要做到上面这

2020-10-24 20:07:36 3498 11

原创 Android 反编译工具apktool、jar2dex、apksigner、zipalign基本命令

反编译基本命令tips: 使用之前,请确保你的PC已经配置java、Android SDK的环境变量apktool: https://www.jianshu.com/p/9add52acbd05反编译:apktool.jar d input.apk -f -o outputDir回编译:apktool.jar b inputDir -f -o output.apkjar & dex的相互转换* dex2jar win: d2j-dex2jar.bat input.dex -f -o

2020-10-12 11:01:55 1608 1

原创 Android中如何使用Assets目录中的xml布局、网页、音乐等资源

篇幅太长不想看,直接看总结总所周知,Android中Activity加载布局的方式常用的有以下几种:setContentView(View view) setContentView(@LayoutRes int layoutResID)View的加载方式可通过下列方式加载:View.inflate(Context context, @LayoutRes int resource, ViewGroup root)LayoutInflater.from(Context context).in

2020-10-10 11:08:19 627 2

原创 JAVA知识点归纳,你想要的这里都有!

文章目录1. J2SE基础1. 九种基本数据类型的大小,以及他们的封装类。2. Switch能否用string做参数?3. equals与==的区别。4. Object有哪些公用方法?5. Java的四种引用,强弱软虚,用到的场景。6. Hashcode的作用。7. hashmap8. String、StringBuffer与StringBuilder的区别。9. try catch finally,try里有return,finally还执行么?10. Excption与Error包结构。OOM你遇到过哪

2020-09-23 11:55:12 310

原创 Android知识点归纳,你想要的这里都有!

文章目录1. 四大组件ActivityServiceContent ProviderBroadcast ReceiverActivity之间的通信方式横竖屏切换的时候,Activity 各种情况下的生命周期Activity与Fragment之间生命周期比较Activity上有Dialog的时候按Home键时的生命周期两个Activity 之间跳转时必然会执行的是哪几个方法?Activity的四种启动模式对比以及使用场景Activity状态保存与恢复Activity 怎么和Service 绑定Service和

2020-09-23 11:53:23 978

原创 Android Q 适配头疼?分区存储权限变更!看这篇就够了!

Google越来越重视Android用户的隐私保护,所以在Android Q版本引进了作用域存储的概念,这一操作直接限制了开发者惯用外部存储做一些配置信息的永久储存的方式(实际上开发者因为不遵守开发规范,导致用户的手机目录变得杂乱不堪)。话不多说,直接上总结:应用内目录:getCacheDir() = /data/user/0/packname/cache 某个应用在内部存储中的cache路径getFilesDir() = /data/user/0/packname/cache /data/

2020-09-20 00:21:34 867

原创 简单实现内嵌上拉刷新、下拉加载的RecyclerView布局

RecyclerView出现之前,大家基本都是使用的ListView,通过ListView自带的api能轻松的实现头布局和尾布局的添加,但RecyclerView并不具备这样的API,所以

2020-09-18 17:53:54 1144

空空如也

空空如也

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

TA关注的人

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