秉着对市场招聘Android的行情进行一番简单调研,从Boss直聘上截取了当前正在招聘Android的一些名企,对其中的技术要求进行归纳和总结,资料如下,总结在最下,用于写入...
秉着对市场招聘Android的行情进行一番简单调研,从Boss直聘上截取了当前正在招聘Android的一些名企,对其中的技术要求进行归纳和总结,资料如下,总结在最下,用于写入...
AMS主要功能: ActivityManagerService 简称AMS,AMS是Android中最核心的服务,主要负责系统中四大组件的启动、切换、调度及应用进程的管理和调...
Dialog创建 如下是Dialog类的构造函数,代码有缺省: 它创建了一个 Window,而这个 Window 的实现类是 PhoneWindow,它跟 Activity ...
ConstraintLayout2.0版本除了优化布局性能外,还增加了一些新特性,使得开发过程更加方便。 ImageFilterButton、ImageFilterView ...
AQS:全名为AbstractQuenedSynchronizer,翻译过来即抽象的队列同步器,是一种用来构建锁和同步器的框架。 基于AQS构建同步器,很多并发类都是基于它实...
在Android中RecyclerView的使用随处可见,它的性能优化程度跟用户体验息息相关。 性能优化实战的例子如下,是获取手机所有已安装app列表: RecyclerVi...
锁优化 Jvm 在加锁的过程中,会采用自旋、自适应、锁消除、锁粗化等优化手段来提升代码执行效率。 什么是锁升级,降级? 锁的4中状态:无锁状态、偏向锁状态、轻量级锁状态、重量...
APK 的编译打包流程 打包所需要工具: 。 1.打包资源文件 AAPT,全称Android Asset Packaging Tool,所以这个构建工具就是用来打包资源文件的...
我们Android项目里会有Java/Kotlin代码,Xml文件,各种图片音视频资源文件等,那么Gradle 就是来帮我们打包生成 apk 的一个程序。 Gradle中,每...
在平时开发当中,我们可能会纠结什么文件该存储在哪个目录下面,要么是不确定放哪,要么是放多了以后放乱了。那就弄清楚哪些文件存哪里吧。 1.外部存储 外部存储目录在/storag...
之前开发遇到一个场景,需要开启多线程上传图片到阿里云,将所以图片上传完成后,将图片地址一起提交到后端。那么这里就需要监听这些多线程是否所有都执行完成。之前做的是用Atomic...
信号量,是一种共享锁,多个线程同时访问一个资源时,通过它实现同一时刻的访问线程数量。最常见的使用场景就是高并发下的限流。 Semaphore常用方法说明 示例: 每个停车场入...
RecyclerView缓存复用机制 来到RecyclerView的Adapter代码中: 在onCreateViewHolder方法和onBindViewHolder方法打...
ViewModel 为什么被设计出来,解决了什么问题 1.不会因为屏幕旋转而销毁,减少了维护状态的工作。2.由于在作用域内单一实例的特性,使得多个fragment之间可以方便...
1.getLeft()、getTop()、getRight()、getBottom() 获得 View 相对 父View 的坐标 2.getX()、getY()、getRaw...
PendingIntent 中的单词 “pending” 指延迟或挂起,就是指它是延迟的或挂起的。一句话概括,PendingIntent 一种是支持授权其他应用以当前应用的身...
死锁是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,他们都无法推进下去。通俗一点就是两个进程都持有资源,但是又想抢对方...
探探效果: demo效果如下: LayoutManager自定义 对于自定义LayoutManager我们主要处理好三件事情,就所有的问题就都迎刃而解了: 布局每个ItemV...
Coil 是一个 Android 图片加载库,通过Kotlin协程的方式加载图片。Coil 名字的由来:取 Coroutine Image Loader 首字母得来。 Coi...