自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Android面试反思:开发5年crud背景,惨遭字节阿里双挂,全败在了工作之外的技术点盘问

同事代码可能导致内存泄漏和ANR 在代码层面怎么避免okhttp拦截器实现 连接池的复用策略 有实现http2.0吗 okhttp和volley的区别 从实现策略讲讲一下eventbus实现原理glide的三级缓存是怎么执行的 最近使用和正在使用的缓存是怎么切换的 怎么处理bitmap复用的 如果自己实现一个该怎么处理模块化怎么通信 底层怎么实现。

2024-09-08 08:19:14 1762

原创 Android技术栈(三)依赖注入技术的探讨与实现

写这篇文章时,Liteproj基本上已经稳定,欢迎到我的github去star或fork,如果你在使用的过程中发现了问题,可以给我issue,或者直接给我发一个。【附】相关架构及资料资料及源码领取Android IOC架构设计领取获取往期Android高级架构资料、源码、笔记、视频。高级UI、性能优化、架构师课程、NDK、混合式开发(ReactNative+Weex)微信小程序、Flutter全方面的Android进阶实践技术。

2024-09-08 02:46:43 1317

原创 Android安卓进程保活(一)1像素且透明Activity

光有这些思路和搞懂单个知识的应用是还远远不够的,在Android开源框架设计思想中的知识点还是比较多的,想要搞懂还得学会整理和规划:我们常见的**Android热修复框架、插件化框架、组件化框架、图片加载框架、网络访问框架、RxJava响应式编程框架、IOC依赖注入框架、最近架构组件Jetpack等等Android第三方开源框架,**这些都是属于Android开源框架设计思想的。如下图所示:这位阿里P8大佬针对以上知识点,熬夜整理出了一本长达1042页的完整版如何解读开源框架设计思想。

2024-09-07 16:13:55 733

原创 Android-ContentProvider实例详解

public Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder)//获取。ContentObserver(内容观察者),目的是观察特定Uri引起的数据库的变化,继而做一些相应的处理,它类似于数据库技术中的触发器(Trigger),当ContentObserver所观察的Uri发生变化时,便会触发它.外部应用更新ContentProvider中的数据。

2024-09-07 09:45:48 446

原创 Android 天气APP(九)细节优化、必应每日一图

最后为了帮助大家深刻理解Android相关知识点的原理以及面试相关知识,这里放上相关的我搜集整理的14套腾讯、字节跳动、阿里、百度等2021面试真题解析,我把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包知识脉络 + 诸多细节。网上学习 Android的资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。希望这份系统化的技术体系对大家有一个方向参考。

2024-09-07 04:01:35 976

原创 Android C++系列:C++最佳实践1虚函数(1)

【代码】Android C++系列:C++最佳实践1虚函数(1)

2024-09-06 21:58:36 303

原创 2024 Android 大厂面试-插件化、模块化、组件化、热修复、增量更新、Gradle

如360的RePlugin框架选择hook了系统的ClassLoader,即构造Activity2的ClassLoader,在判断出待启动的Activity是插件中的时,会调用插件的ClassLoader构造相应对象。其实最好的方法是,能够修改aapt源码,添加一个参数,把我们想要编译的PackageId作为输入值,传进来最好了,那就是Bundle类型,他是从Main.cpp中的main函数传递到了最后的buildResources函数中,那么我们就可以把这个参数用Bundle进行携带。

2024-09-06 15:08:27 1124

原创 Java 反射:框架设计的灵魂

两段代码执行的结果是一样的,但是“正向”代码在编译前,就已经明确了要运行的类是什么(ArrayList),而第二段代码,只有在代码运行时,才知道运行的类是 java.util.ArrayList。动态语言:是指程序在运行时可以改变自身结构,在运行时确定数据类型,一个对象是否能执行某操作,只取决于它有没有对应的方法,而不在乎它是否是某种类型的对象;比如 C 语言、Java;总结一下Java 反射的作用:可以设计出更为通用和灵活的架构,很多框架为了保证其通用性,可以根据配置加载不用的类,这时候要用到反射。

2024-09-05 03:59:07 770

空空如也

空空如也

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

TA关注的人

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