网易云课堂- 领先的实用技能学习平台
网易云课堂
android平台架构图
Android 是一种基于 Linux 的开放源代码软件栈,为广泛的设备和机型而创建
Kotlin中空安全操作符,异常处理和自定义异常,以及先决条件函数详解
一、Kotlin的可空性
null 在java中我们司空见惯的空指针异常NullPointerExcep...
ConcurrentHashMap原理分析
背景
ConcurrentHashMap是Java5中新增加的一个线程安全的Map集合,可以用来替代...
免费的 Android 专家在线课程,带您逐步开发出自己的应用。
免费的 Android 专家在线课程
Jetpack Compose也能搞插件化了
/ 前言 /
在传统的 Android 开发模式中,由于界面过分依赖于 Activity、Fra...
Base64编码原理分析
Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一,在了解Base64编码...
PendingIntent使用解析
PendingIntent 中的单词 “pending” 指延迟或挂起,就是指它是延迟的或挂起的。一句...
Kotlin 互斥体:5 个用例
1. 保护多线程应用程序中的共享数据
设想:
在多线程应用程序中,多个线程...
JNI 编程上手指南之 JNI 调用性能优化
为什么要做性能优化
Java 程序中,调用一个 Native 方法相比调用一个 Java 方...
Flutter编译报错Context: This is the overridden method ('load')
Flutter编译报错:The method 'CachedNetworkImageProvider.load' has fewer positional
插件Service的运行管理
Service启动的大体流程
我们从ContextImpl.startService()开始看。 为什么从这...
ReentrantLock原理分析
ReentrantLock是Java并发包中提供的一个可重入的互斥锁,它拥有与synchronized...
算法 – 动态规划
很多人觉得动态规划很难,甚至认为面试出动态规划题目是在为难候选人,这可能产生...
深入理解JVM垃圾收集机制
程序计数器、虚拟机栈和本地方法栈这三个区域属于线程私有的,只存在于线程的...
Android 面试之必问Android基础
1,Activity
1.1 生命周期
正常情况系,Activity会经历如下几个阶段:
onCrea...
Kotlin内联函数inline、noinline、crossinline
高阶函数
首先来看下kotlin里的高阶函数定义:如果一个函数接收另一个函数作为...