自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 ​Android学习总结之handler中源码解析和场景回答

Android中Handler的核心机制通过post和postDelayed实现,两者均依赖sendMessageDelayed,区别在于延迟时间。延迟消息可能引发内存泄漏,建议使用静态内部类+弱引用或生命周期感知组件(如LiveData/ViewModel)解决。主线程Handler阻塞可能导致ANR,可通过任务分类或异步Handler优化。图片下载场景推荐线程池提升并发效率。LiveData可替代Handler,内存泄漏检测可使用LeakCanary和Profiler工具。

2025-05-14 15:18:35 1070 1

原创 Android之Glide VS Picasso对比学习总结

Picasso体积小(约118KB),适合小型项目,功能基础,不支持动态图。Glide体积较大(430KB+),支持GIF、WebP等格式,缓存策略智能,自动绑定生命周期,适合复杂场景如电商、社交类应用。Picasso采用全尺寸缓存,Glide按尺寸缓存,减少冗余数据,提升性能。电商类应用通常选择Glide,因其支持复杂格式、多尺寸缓存和动态图片处理,更适合高并发、多格式的业务需求。

2025-05-14 15:13:11 806

原创 Android学习总结之Glide自定义三级缓存(面试篇)

三级缓存系统通过内存、磁盘和网络缓存优化图片加载。内存缓存提供毫秒级响应,使用LRU算法清理冷数据;磁盘缓存持久化存储,支持离线访问;网络缓存结合HTTP缓存头,避免重复下载。系统采用LruCache、布隆过滤器等策略,预防缓存穿透、雪崩和OOM问题,确保高效稳定运行。

2025-05-14 15:10:26 979

原创 Android学习总结之Glide自定义三级缓存(实战篇)

三级缓存系统在图片加载中包括内存缓存、磁盘缓存和网络缓存,分别使用LruCache、DiskLruCache和HTTP缓存头实现。内存缓存限制为手机可用内存的15%,磁盘缓存容量通常为100MB,网络缓存设置为50MB。常见问题如缓存穿透、缓存雪崩和OOM可通过占位图、布隆过滤器、随机过期时间等策略解决。关键指标如缓存命中率和内存峰值占用可通过Android Profiler等工具监测。自定义图片缓存框架设计时,优先从内存缓存获取图片,未命中时依次查询磁盘缓存和网络请求,获取后同时存入内存和磁盘缓存。

2025-05-14 14:59:05 1161

原创 Android学习总结之kotlin篇(二)

Kotlin扩展函数在编译时转换为静态方法,接收者对象作为第一个参数传入,实现功能扩展而不修改原类字节码。协程通过状态机和Continuation接口实现挂起与恢复,挂起函数编译为带Continuation参数的普通函数,避免线程阻塞。Java调用Kotlin函数时,需注意参数可空性,非空类型传入null会抛出NullPointerException。

2025-05-14 14:48:31 808

原创 Android学习总结之类LiveData与ViewModel关系篇

ViewModel负责存储UI相关数据,LiveData作为可观察的数据持有者,通知UI层数据变化。LiveData具有生命周期感知能力,确保数据更新仅在活跃状态下通知观察者,避免内存泄漏。ViewModel的生命周期与Activity或Fragment绑定,确保数据在配置变更时不会丢失。LiveData自身具备自动取消订阅的能力,不依赖ViewModel。自定义LiveData可通过继承LiveData并实现生命周期监听来实现。

2025-05-14 09:36:12 849

原创 Android 中 Handler (创建时)内存泄漏问题及解决方案

handle在创建需要注意的内存泄漏问题和解决方案

2025-05-12 21:02:42 1371 1

原创 Android学习总结之线程池篇

通过实战案例探讨了线程池参数调优、任务依赖与同步、Android生命周期管理及WorkManager替代方案。针对直播APP弹幕加载、图片编辑等场景,提出了核心线程数、最大线程数、任务队列的优化策略,并介绍了使用CountDownLatch、PriorityBlockingQueue实现任务同步与优先级调度的方法。

2025-05-12 20:49:22 1144

原创 Android学习总结之布局篇

重点对比了ConstraintLayout与RelativeLayout的布局原理与性能。ConstraintLayout通过双向约束系统实现扁平化布局,性能优于RelativeLayout,尤其在复杂布局中表现显著。文章还探讨了dp/px/dpi的换算与适配原理,强调使用dp单位以确保不同屏幕密度的设备上视觉一致性。提供了布局优化手段,如减少布局层级、避免过度绘制、优化测量与布局耗时等,以提升界面流畅度。最后,总结了自定义布局的核心步骤及常见踩坑点,并提供了实战代码示例

2025-05-12 20:27:30 662

原创 Kotlin 内联函数深度解析:从源码到实践优化

kotlin中常用的内联函数源码解释

2025-05-10 13:35:22 1641 1

原创 Java 集合体系深度解析面试篇

Java数据结构的面试题总结

2025-05-09 18:49:05 728

原创 解密AMS:大厂面试必考的Android启动流程与源码解析

深入理解应用启动流程的核心原理

2025-05-09 18:40:52 648

原创 Android Handler 机制面试总结

handle的面试题目讲解

2025-05-09 18:17:09 791

原创 Android学习总结之算法篇八(二叉树和数组)

路径总和,组合总和的算法题目

2025-05-08 20:34:56 230

原创 Android学习总结之kotlin协程面试篇

kotlin协程的面试题讲解

2025-05-08 16:12:59 1541

原创 Android单例模式知识总结

简单安全选枚举,延迟初始化用 DCL 或静态内部类,Kotlin 开发优先懒代理。永远注意上下文生命周期,防止内存泄漏;通过职责分离和依赖注入提升代码可维护性。面试中,需深入理解线程安全原理(如指令重排序、类加载机制)、Android 特性(上下文管理)及反破坏措施(反射 / 反序列化防御)

2025-05-08 15:56:18 1164

原创 Android学习总结之网络篇补充

计算机网络原理、协议分析、Android 网络优化的知识点讲解

2025-05-07 19:32:43 746

原创 Android学习总结之Binder篇

Binder 机制、AIDL 原理、内存管理、线程调度知识讲解

2025-05-07 19:28:13 1503

原创 Android学习总结之MMKV(代替SharedPreferences)

MMKV的基础使用和相关面试题目

2025-05-07 18:48:43 885

原创 Android学习总结之Java和kotlin区别

Java和kotlin代码之间的区别和apk打包时的不同

2025-05-06 19:35:10 1167 1

原创 移动应用开发:自定义 View 处理大量数据的性能与交互优化方案

Android学习自定义view的1万条数据显示和相关面试题目

2025-05-06 18:37:53 1442

原创 Android第六次面试总结之Java设计模式(二)

Java设计模式之适配器,责任链,观察者模式的知识讲解

2025-05-06 14:36:33 1179

原创 Android第六次面试总结之Java设计模式篇(一)

Java设计模式之单例,工厂模式,建造者模式的知识讲解

2025-05-06 14:24:08 900

原创 Android学习总结之GetX库篇(场景运用)

flutter的场景运用

2025-05-05 11:09:25 605

原创 Android学习总结之GetX库篇(优缺点)

flutter的优缺点,场景运用,难点解决

2025-05-05 11:08:56 1194

原创 Room + WorkManager的Android学习总结

Android中的Room+WorkManager使用说明,知识点讲解

2025-05-04 18:53:14 1194

原创 Android学习总结之事件分发机制篇

事件分发机制的补充

2025-05-04 16:38:00 1319

原创 Android第四次面试总结之Java基础篇(补充)

关于设计模式六大原则,单例模式,HashMap的知识点补充

2025-05-04 16:30:29 661

原创 Android第三次面试总结之activity和线程池篇(补充)

关于Android的activity和线程池知识点补充(含面试题)

2025-05-04 16:21:47 817

原创 Android第三次面试总结之网络篇补充

网络篇补充,无DNS知识点

2025-05-04 10:12:42 1201

原创 Android第三次面试总结之Java篇补充

Android数组,锁的补充篇章

2025-05-04 09:54:02 697

原创 Android学习总结之jetpack组件间的联系

Lifecycle ,ViewModel ,LiveData, Data Binding 之间的联系讲解

2025-05-02 10:38:01 952

原创 Android面试总结之jet pack界面组件篇

ViewPager2,RecyclerView 的面试相关知识点回答

2025-05-02 10:15:18 989

原创 Android面试总结之jet pack模块化组件篇

ViewModel,LiveData,Room,Navigation的组件面试知识

2025-05-02 10:03:20 749

原创 Android面试总结之GC算法篇

GC算法的面试题总结

2025-05-01 20:45:41 1904

原创 Android学习总结之算法篇六(数组和栈)

数组和栈的算法讲解

2025-04-30 20:48:54 420

原创 Android学习总结之自定义view设计模式理解

自定义View采用的设计模式

2025-04-30 20:30:01 960

原创 Android学习总结之设计场景题

场景题,图片缓存框架,ScrollView里面嵌套两个高度都为两个屏幕RecycleView

2025-04-30 19:24:43 1036

原创 Android学习总结之点击登录按钮流程

Android点击登录按钮后的运行流程

2025-04-30 19:14:29 736

原创 Android学习总结之Bitmap篇

Bitmap图片压缩的知识讲解

2025-04-29 19:45:21 979

空空如也

空空如也

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

TA关注的人

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