首页
AI Coding
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
lovebugs73633
掘友等级
安卓开发
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
55
文章 55
沸点 0
赞
55
返回
|
搜索文章
赞
文章( 55 )
沸点( 0 )
Android 多线程:你的 Handler 内存泄露 了吗?
1. 问题描述 2. 原因讲解 在Handler消息队列 还有未处理的消息 / 正在处理消息时,此时若需销毁外部类MainActivity,但由于上述引用关系,垃圾回收器(GC)无法回收MainActivity,从而造成内存泄漏。如下图: 3. 解决方案 解决方案的思路 = 使…
JVM系列(四) - JVM类加载机制详解
本文将由浅及深,介绍Java类加载的过程和原理,进一步对类加载器的进行源码分析,完成一个自定义的类加载器。 (一). 类加载器是什么 类加载器简言之,就是用于把.class文件中的字节码信息转化为具体的java.lang.Class对象的过程的工具。 在实际类加载过程中,JVM…
深入理解Java泛型
ArrayList就是个泛型类,我们通过设定不同的类型,可以往集合里面存储不同类型的数据类型(而且只能存储设定的数据类型,这是泛型的优势之一)。“泛型”简单的意思就是泛指的类型(参数化类型)。想象下这样的场景:如果我们现在要写一个容器类(支持数据增删查询的),我们写了支持Str…
深入理解AbstractQueuedSynchronizer(AQS)
1. AQS简介 在上一篇文章中我们对lock和AbstractQueuedSynchronizer(AQS)有了初步的认识。在同步组件的实现中,AQS是核心部分,同步组件的实现者通过使用AQS提供的模板方法实现同步组件语义,AQS则实现了对同步状态的管理,以及对阻塞线程进行排…
ThreadLocal解析
大家是否了解JMM(java内存模型),它主要是为了解决多线程下的共享内存操作问题,为了保证数据的一致性,我们在自己的工作内存操作修改变量后,会提交到主内存中进行覆盖,并且使其他线程中工作内存中的共享变量删除,使得其他线程在自己的工作内存中访问不到该共享变量副本,只能到主内存中…
十分钟了解Android触摸事件原理(InputManagerService)
从手指接触屏幕到MotionEvent被传送到Activity或者View,中间究竟经历了什么?Android中触摸事件到底是怎么来的呢?源头是哪呢?本文就直观的描述一个整个流程,不求甚解,只求了解。 触摸事件肯定要先捕获才能传给窗口,因此,首先应该有一个线程在不断的监听屏幕,…
Android 面试题(附答案) | 掘金技术征文
垃圾回收需要完成两件事:找到垃圾,回收垃圾。 当一个对象被引用时,它的引用计数器会加一,垃圾回收时会清理掉引用计数为0的对象。但这种方法有一个问题,比方说有两个对象 A 和 B,A 引用了 B,B 又引用了 A,除此之外没有别的对象引用 A 和 B,那么 A 和 B 在我们看来…
Android插件化原理(一)Activity插件化
四大组件的插件化是插件化技术的核心知识点,而Activity插件化更是重中之重,Activity插件化主要有三种实现方式,分别是反射实现、接口实现和Hook技术实现。反射实现会对性能有所影响,主流的插件化框架没有采用此方式,关于接口实现可以阅读dynamic-load-apk的…
【Java并发专题】27篇文章详细总结Java并发基础知识
github:https://github.com/CL0610/Java-concurrency,欢迎题 issue 和 Pull request。所有的文档都是自己亲自码的,如果觉得不错,欢迎给 star 鼓励支持 :) 整个系列文章为Java 并发专题,一是自己的兴趣,二…
下一页
个人成就
文章被阅读
708
掘力值
40
关注了
29
关注者
3
收藏集
4
关注标签
53
加入于
2019-04-06