文章分类 - Android 技术
摘要:在Java开发中,内部类是常用的语法特性,而静态内部类凭借独立的内存结构、无内存泄漏风险的优势,在单例模式、工具类封装、源码设计中高频出现。大家都知道“静态内部类不持有外部类对象引用,普通内部类会持有”,但这句结论的底层逻辑是什么?为什么普通内部类默认绑定外部类实例,静态内部类却能完全独立?这篇文章
阅读全文
摘要:1. 新方式 vs 旧的 classpath 方式 旧方式(buildscript + classpath) // 旧方式(build.gradle) buildscript { repositories { google() mavenCentral() } dependencies { clas
阅读全文
摘要:/** * 设置图片圆角(左侧) */ public void showImageRoundLeft(Context context, Object url, final ImageView imageView, int radius) { RoundedCornersTransform corne
阅读全文
摘要:Android夜间模式可以通过手动设置不同的Theme来实现,也有第三方框架可拿来用。在 Android Build 23.0.0后可以使用AppCompatDelegate来实现夜间模式切换。 首先我们需要在style(res/values/style.xml)中生成我们需要主题: <resour
阅读全文
摘要:通过Android SDK提供的LinearSmoothScroller来实现的。 val smoothScroller = object : LinearSmoothScroller(this) { override fun getVerticalSnapPreference(): Int { r
阅读全文
摘要:一、Java 中的 ClassLoader ClassLoader:一个抽象类,其中定义了ClassLoader的主要功能。 SecureClassLoader:继承了抽象类ClassLoader,但SecureClassLoader并不是ClassLoader的实现类,而是拓展了ClassLoad
阅读全文
摘要:KOOM(Kwai OOM, Kill OOM)是快手性能优化团队在处理移动端OOM问题的过程中沉淀出的一套完整解决方案。其中Android Java内存部分在LeakCanary的基础上进行了大量优化,解决了线上内存监控的性能问题,在不影响用户体验的前提下线上采集内存镜像并解析。 一、KOOM 背
阅读全文
摘要:比较版本号时,正确的做法应该是,主版本号和主版本号比较,次版本号和次版本号比较等等,也就是把版本号分割,对应的组成之间进行比较,如下: /** * 版本号比较 * * @return 0代表相等,1代表version1大于version2,-1代表version1小于version2 */ publ
阅读全文
摘要:MMKV 是基于 mmap 内存映射的移动端通用 key-value 组件,底层序列化/反序列化使用 protobuf 实现,性能高,稳定性强。 一、MMKV由来 在微信客户端的日常运营中,时不时就会爆发特殊文字引起系统的 crash,文章里面设计的技术方案是在关键代码前后进行计数器的加减,通过检查
阅读全文
摘要:IntentService是Service的子类,在独立的handler线程里处理异步任务请求。 IntentService中HandlerThread线程类,开启了一个HandlerThread线程实例,这个实例做一件就是开辟一个线程,并创建Looper循环器和消息队列MessageQueue。最
阅读全文
摘要:为什么使用百分比布局 由于Android系统的碎片化发展导致了市面上多种分辨率、多种屏幕密度共存,这对我们的屏幕适配增加了不少的难度,在布局方面我们都知道可以通过LinearLayout的layout_weight属性来进行适配,但是在某些情况下我们要向用这种方法进行适配就必须进行多层布局嵌套,而这
阅读全文
摘要:在实际开发中,遇到的问题,先列举到待调研的知识里面,然后查找相关资料,查找到的相关内容放到需要整理的内容里面,然后根据后面的学习感悟规划一下远期要学习或调研的知识。 一、需要整理的内容 DASH 格式MP4、isml格式流媒体 FLV格式:https://www.jianshu.com/p/419f
阅读全文
摘要:最近做项目需要使用到webview加载网页,需要的内容都在网页的最上方部分,但webview 加载的时候会把网页下面空白区域页加载进来,滑动上去就看不到需要的部分了。 这里我们想要将网页内容加载成我们想要的样式,可以按照以下思路解决: 1.通过设置网页的高度为所需要内容的高度. 2.通过对webvi
阅读全文

浙公网安备 33010602011771号