自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 AndroidStudio双击图标无法启动

AndroidStudio双击图标无法启动

2023-10-27 10:41:43 1632 2

原创 Handler的使用

那么,当 HandlerActivity关闭,而Handler中的消息还没有处理完时,handler会一直持有 HandlerActivity 实例,而无法被回收。由于主线程已经默认存在一个Looper对象,因此我们可以直接使用Handler()构造函数来创建Handler对象,而无需指定Looper参数。因此,需要先初始化Looper对象,然后再创建Handler对象,以便让Handler能够与该Looper所在线程的消息队列进行交互。2、初始化Handler使用静态内部类,并且持有的对象使用弱引用。

2023-03-16 16:52:46 363

原创 Android事件总线 EventBus 的使用

EventBus

2022-09-22 17:19:34 1248

原创 一篇文章彻底了解File IO操作

IO简介流的概念数据流是一组有序、有起点和终点的字节的数据序列,包括输入流和输出流。流序列中的数据既可以是未经加工的原始二进制数据,也可以是经一定编码处理后符合某种格式规定的特定数据。因此Java中的流分为两种:字节流:数据流中最小的数据单元是字节字符流:数据流中最小的数据单元是字符Java中的字符是Unicode编码,一个字符占用两个字节。in和out所谓输入、输出,是从 内存 的角度理解的,或者 程序代码 也可以理解为内存InputStream 输入流,把file文件里的数据读

2022-04-20 15:29:31 1354

原创 Java线程池ThreadPoolExecutor

线程池ThreadPoolExecutor1、类关系Executor 是一个接口, 它是 Executor 框架的基础, 它将任务的提交与任务的执行分离开来。ExecutorService 接口继承了 Executor【原来接口是可以继承接口的】, 在其上做了一些shutdown()、 submit()的扩展, 可以说是真正的线程池接口。AbstractExecutorService 抽象类实现了 ExecutorService 接口中的大部分方法。ThreadPoolExecutor 是线程

2022-04-01 15:36:56 2406

原创 Java线程同步和锁定

同步和锁定Java中每个对象都有一个内置锁。 当程序运行到synchronized同步方法或代码块时才该对象锁才起作用。 一个对象只有一个锁。所以,如果一个线程获得该锁,就没有其他线程可以获得锁,直到第一个线程释放(或返回)锁。这也意味着任何其他线程都不能进入该对象上的synchronized方法或代码块,直到该锁被释放。 释放锁是指持锁线程退出了synchronized同步方法或代码块。关于锁和同步的几个要点 1)只能同步方法,而不能同步变量和类;

2022-04-01 15:35:59 2921

原创 Java线程理论及使用

概念进程操作系统进行资源分配的最小单位进程与进程之间相互独立线程CPU调度的最小单位,必须依赖于进程存在线程之间可以共享资源真正执行任务的是线程CPU调度并行:同一时间点,同时执行不同的任务,互相不抢资源并发:同一时间段,交替执行不同的任务,互相抢占资源。并发数:指定时间内完成的任务数量高并发:充分利用CPU资源Thread 和 Runnable 的区别Java语言里,Thread是对线程的抽象,Runnable是对任务/业务逻辑的抽象开启线程的两个方式(1)extends

2022-03-22 16:19:57 362

原创 Android之判断USB传输模式与USB连接状态

1、监听UsbManager.ACTION_USB_STATEpublic class UsbManager { private static final String TAG = "UsbManager"; /** * Broadcast Action: A sticky broadcast for USB state change events when in device mode. * * This is a sticky broadcast for

2022-03-16 16:52:35 7341 1

原创 Java注解-学习

释义注解本身没有任何意义,结合其他技术才会有丰富的应用场景自定义注解类@Target({ElementType.TYPE, ElementType.METHOD})@Retention(RetentionPolicy.CLASS)public @interface MyAnnotation { int age() default 20; String name() default "harry";}1、自定义注解类,用@interface修饰2、可以有一个或多个成员变量,变量可以设置默

2022-03-11 18:31:11 121

原创 Java泛型-学习

泛型的好处1、不需要强制转换类型泛型中的类型,在使用时才会指定,避免了运行时取数据异常2、多种数据类型可以执行相同逻辑的代码泛型接口public interface GenericInterface<T> { public T getParam();}// 实现,指定了具体的类型,如Stringpublic class GenericImpl implements GenericInterface<String> { @Override publi

2022-03-09 17:47:54 2690

原创 Android之延时操作方法

整理常见的延时处理方法,作为记录。1、Handler.postDelayed()适合在主线程更新UI操作,不会阻塞线程 Handler handler = new Handler(); handler.postDelayed(new Runnable() { @Override public void run() { // 可更新UI或做其他事情 // 注意这里还在当前线程,没有开启新的线程 ... } }, 3000); // 延时3s执行run内代码2、Han

2022-02-24 17:07:44 14866

原创 升级AndroidStudio至最新版本[Arctic Fox | 2020.3.1 Patch 4]后,编译不过的问题

升级AndroidStudio至最新版本[Arctic Fox | 2020.3.1 Patch 4]后,编译不过的问题问题:AS升级到当前的最新版本后,点击Sync Projects with Gradles Files立刻报错,如下图修改如下【适合我】1、修改Gradle JDK版本:Settings里搜索gradle,选择Gradle JDK版本为version 11.0.10,如下图2、修改build.gradl(app)文件// 我之前的版本太低classpath 'com.an

2022-02-24 14:16:36 1913

空空如也

空空如也

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

TA关注的人

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