![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android
文章平均质量分 58
IAmJunGod
这个作者很懒,什么都没留下…
展开
-
EventBus多次调用
最近在项目中用到了EventBus3,但是在使用的过程中发现post了一次居然执行了多次,经过查找各种资料 ,解决方案如下:解决方案 1 : 在注册时判断如果已经注册则不注册 ,从而避免重复注册,重复注册可能导致存在多个此类对象可能导致重复多次的接收,代码如下if (EventBus.getDefault().isRegistered(this)){ EventBus.getDefault().register(this);}解决方案 2:在退出界面的时候解绑: @O原创 2021-07-30 16:11:30 · 1107 阅读 · 0 评论 -
Android中的内存泄漏
先说一下出现内存泄漏的原因: 在Android应用程序中,如果一个对象已经不需要被使用了,那么它应当被回收,而这时另一个对象还在持有对该对象的引用,此时这样就会导致无法被GC回收,内存泄漏便出现了。内存泄漏是Android开发中的一个重要问题,我们在编写应用程序时一定要加以防范,防止内存泄漏发生。下面说一下Android开发中最常见的5个内存泄漏问题:一:单例模式造成的内存泄漏: 单例设计模式我就不多说了,这个是最基本的设计模式,相信大家都会使用,但是时候我们在使用单例设...原创 2021-07-29 15:17:44 · 118 阅读 · 0 评论 -
Android线程池
为什么要使用线程池1.线程属于系统的宝贵资源,创建和销毁都会导致比较大的系统开销,从而影响处理效率。2.多线程并发会导致系统阻塞。3.可以简单的管理线程。线程池ThreadPoolExecutor Android使用Java语言,那么研究Android线程池其实也可以说是研究Java中的线程池。在Java中,线程池的概念是Executor这个接口,具体实现为ThreadPoolExecutor类,学习Java中的线程池,就可以直接学习他了。对线程池的配置,就是对Thread...原创 2021-07-19 14:01:14 · 211 阅读 · 0 评论 -
Kotlin判断对象是否被初始化了
Kotlin判断对象是否初始化和Java的判断方式不同,切记,绝对不能使用object != null上面这段代码是会报错的,正确的方法是if (this::myObject.isInitialized) { }原创 2021-07-01 11:35:41 · 1360 阅读 · 0 评论 -
Java集合
1.集合是什么 Java集合是一个容器,容器内的对象可以是任意的数据类型,且长度可变。集合按照其存储结构可以分为两大 类,分别是单列集合Collection,和双列集合Map。这两种集合特点如下:(1) Collection:单列集合接口,用于存储一系列元素。实现了Collection接口的两个子接口分别是List和Set。其中List集合内的元素是有序的并且可重复;Set集合的特点是元素无序并且不可重复。List接口的主要实现类有ArrayList和ListedList;Set接...原创 2021-07-01 10:21:51 · 139 阅读 · 0 评论 -
判断微信是否已经安装
最近公司的项目需要使用微信登录功能,但是微信登录需要判断当前设备是否安装了微信,下面就分享一下判断微信是否已经安装的代码原创 2021-06-10 08:50:38 · 897 阅读 · 0 评论 -
Android圆形布局
一个圆形的布局设计,先看效果图原创 2021-06-04 14:03:37 · 1258 阅读 · 1 评论 -
一个Android平台下的仿微信视频聊天悬浮窗
闲来无事想自己手写一个类似微信视频聊天悬浮窗的效果,由于笔者是第一次写技术类的文章,不足的地方,还请各位多多谅解哈。另外由于篇幅有限,在此只展示关键代码。首先我们定义二个按钮,一个是创建悬浮窗,一个是让悬浮窗消失,如下所示:this.button_open=findViewById(R.id.button_open)this.button_close=findViewById(R.id.button_close)this.button_open.setOnClickListener(this)t原创 2021-06-04 11:11:40 · 1267 阅读 · 1 评论