- 博客(13)
- 收藏
- 关注
原创 类装载与初始化
类装载在任何时刻,第一次访问某类,都会执行类装载 访问包括三种情况: 使用某类的static方法 访问某类的static属性 构造某类的对象 声明没有初始化的引用Administrator admin;,并不会导致类装载(This is lazy load) 一个类的装载只会执行一次类装载的工作清单:加载.class字节码文件:根据包语法决定的路径找到.class文件并加载 为static属性分配存储空间并全部置为默认值(Q:默认值是多少) 装载父类:如果这个类有父类,且父
2021-02-27 16:00:08 109
原创 Android隐藏底部虚拟按键
/** * 隐藏虚拟按键,并且全屏 */ protected void hideBottomUIMenu() { //隐藏虚拟按键,并且全屏 if (Build.VERSION.SDK_INT > 11 && Build.VERSION.SDK_INT < 19) { // lower api View v = requireActivity().getWindow().getDecorView.
2021-01-07 14:15:09 574
转载 Java反射
概述定义JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为java语言的反射机制。用途在日常的第三方应用开发过程中,经常会遇到某个类的某个成员变量、方法或是属性是私有的或是只对系统应用开放,这时候就可以利用Java的反射机制通过反射来获取所需的私有成员或是方法。当然,也不是所有的都适合反射,之前就遇到一个案例,通过反射得到的结果与预期不符。阅读源码发现,经过层层调用后
2020-12-18 17:48:55 186 1
原创 java线程以及线程池最佳实现
Java ExecutorService四种线程池的例子与说明1、new Thread的弊端执行一个异步任务你还只是如下new Thread吗?new Thread(new Runnable() { @Override public void run() { // TODO Auto-generated method stub }}).start();那你就out太多了,new Thread的弊端如下:a. 每次new Thread新建对象性能
2020-12-11 11:26:21 142
原创 Java反射之反射权限和静态属性的赋值
Java反射之反射权限和静态属性的赋值当一个类中的属性是private的时候,需要将 fieldName.setAccessible(true);当一个类的属性是静态属性的时候,则直接 itemListField.set(null, arrayList);参考例子:// 获取类Class mediaItemClazz = Class.forName("io.rong.imkit.plugin.image.PictureSelectorActivity$MediaItem");
2020-12-09 16:25:56 1077
原创 android 虚拟机ART
Android里的 ART、JIT、AOT、Dalvik之间有什么关系?JIT与DalvikJIT是"Just In Time Compiler"的缩写,就是"即时编译技术",与Dalvik虚拟机相关。怎么理解这句话呢?这要从Android的一些特性说起。JIT是在2.2版本提出的,目的是为了提高Android的运行速度,一直存活到4.4版本,因为在4.4之后的ROM中,就不存在Dalvik虚拟机了。我们使用Java开发android,在编译打包APK文件时,会经过以下...
2020-12-07 15:50:43 1200
转载 2020-10-17
Android targetSdkVersion 版本适配https://johnnyshieh.me/posts/android-target-sdk-version/Google Play 要求新应用(自 2019 年 8 月 1 日起)和应用更新(自 2019 年 11 月 1 日起)将目标 API 级别至少设为 28(至少为 Android 9.0)。在这两个日期之前,新应用和应用更新的目标 API 级别必须至少为 26(至少为 Android 8.0)。同时,国内的华为、360、应用宝
2020-10-17 11:34:38 317
原创 Android 7.0 provider属性说明
1.注册一个provider<provider android:name="android.support.v4.content.FileProvider" android:authorities="com.test.demo.fileprovider" android:exported="false" android:grantUriPermis...
2020-01-21 16:22:45 941
原创 APK 瘦身
APK瘦身三部曲:1.dex优化:代码混淆,移除无用代码2.资源优化:只保留一套图xxhdpi(1920*1080),图片压缩(在线压缩网站TinyPng),图片转换(使用webp代替png,使用xml矢量图作为icon,使用lottie动画代替gif)3.so优化:只保留主流架构armeabi-v7a(armeabi这种万金油架构已经不常见)4...
2020-01-10 08:42:07 144
原创 清除画布导致背景透明 Bitmap保存到本地变黑问题
/** * 清空签名 */public void clear() { if (mCanvas != null) { isTouched = false; mPaint.setColor(mPenColor); mCanvas.drawColor(mBackColor, PorterDuff.Mode.CLEAR) mP...
2019-10-11 11:55:59 592
原创 EditText限制输入两位小数
功能点分析1.首位输入.的时候,补全为0.2.删除“.”后面超过2位后的数据3.如果起始位置为0,且第二位跟的不是".",则无法后续输入一、代码实现之 TextWatcher 方法/** * *描述 :金额输入字体监听类,限制小数点后输入位数 * * 默认限制小数点2位 * 默认第一位输入小数点时,转换为0. * 如果起始位置为0,且第二位跟的不是".",则无...
2019-08-31 08:58:25 1440
原创 封装BaseDialogFragment
import android.app.Dialog;import android.os.Bundle;import android.util.DisplayMetrics;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.vi...
2019-08-27 17:20:42 918 1
原创 android创建外部存储文件
优先外部存贮public static String getFilePath(Context context, String dir) { String directoryPath=""; if (MEDIA_MOUNTED.equals(Environment.getExternalStorageState()) ) {//判断外部存储是否可用 directo...
2019-08-06 11:22:32 869
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人