首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
关注
综合
后端
前端
Android
iOS
人工智能
开发工具
代码人生
阅读
排行榜
综合
后端
排行榜
前端
Android
iOS
人工智能
开发工具
代码人生
阅读
全部
Android
面试
Android Jetpack
Kotlin
前端
HarmonyOS
Flutter
Java
iOS
展开
全部
Android
面试
Android Jetpack
Kotlin
前端
HarmonyOS
Flutter
Java
iOS
架构
逆向
APP
源码
性能优化
源码阅读
暂无数据
推荐
最新
如何应对 Android 面试官 -> 手写 APM 核心实现
前言 本章我们主要是来手写一个 APM 框架; 上一章节补充 上一周我们讲解了包体积优化,讲到了 SO 的动态加载,另外我们在加载 SO 的时候,经常会遇到 这个错误,主要的原因是兼容性问题,包 SO
深入Android 15 Zygote:ZygoteServer如何驾驭进程孵化
接着上一篇 深入Android 15 Zygote:从进程孵化器到系统基石 runSelectLoop 首先创建了2个ArrayList, socketFDs中存放的是FileDescriptor,L
深入Android 15 Zygote:从进程孵化器到系统基石
环境准备 AOSP的源码有120多G,我们重点关注 frameworks/base 模块,没必要全部下载 IDE就用VSCode即可 Android系统的启动 这一部分不是本文的重点,但是要讲Zygo
Java 线程实现方式
1. Java 线程概述 1.1 映射模型 Java 线程采用1:1映射到操作系统原生线程(内核级线程),线程是程序执行的一个路径,每一个钱程都有自己的局部变量表、程序计数器以及各自的生命周期等。在
Java 8 效率精进指南(1)前言
Java 8 诞生的背景 Java 8 的正式版本于2014年面世,当时的历史背景是这样的:客观上,随着多核处理器普及,传统 Java 的线程和锁机制由于复杂易出错,已经无法满足当时对简单并发编程模型
Kotlinx序列化多平台兼容性详解
`kotlinx.serialization` 是 Kotlin 官方的多平台序列化库,设计时充分考
Java Creational 创建型模式之 Builder 建造者模式
Java Creational 创建型模式之 Builder 建造者模式 建造者模式是一种创建型设计模式,其核心思想是将一个复杂对象的构建过程与其表示分离,允许你分步骤构建复杂的对象,使得同样的构建过
一篇文章实现Android图片拼接并保存至相册
系列文章目录 一篇文章实现Android图片拼接并保存至相册 前言 好久没有写Android系列的文章了,最近有小伙伴问到了Android图片拼接的问题,写一篇相关的博客。
如何应对 Android 面试官 -> 包体积如何优化?
前言 APK 包分析 通过对 APK 包的分析,我们主要的包体积优化集中在 lib、resources.arsc、classess.dex 这几个方向上; resources.arsc 每个资源文件在
Android性能优化-Frida工具篇
Frida在Android性能优化中的作用 Frida主要用于动态分析和修改运行时的程序行为(支持 Android、iOS、Windows、macOS、Linux 等平台)。它的核心功能是通过注入
gson很好,但我劝你在Kotlin上使用kotlinx.serialization
由于Kotlin 的 `data class`没有默认的无参构造函数,Gson会使用 `Unsafe API` 来创建对象,这种创建对象的方式不会调用构造函数,因此会导致了以下三个问题...
Android 大文件分块上传实战:突破表单数据限制的完整方案
一、问题背景与核心思路 1.1 场景痛点 当 Android 客户端需要上传 500MB 的大文件到服务器,而服务器表单限制为 2MB 时,传统的直接上传方案将完全失效。此时需要设计一套分块上传机制,
Java八股-JVM & GC
JVM内存结构中,那一部分不会发生内存泄漏? 核心知识 :JVM运行时内存分区,GC Root 答:我们知道发生内存泄漏的原因是本应该被释放的对象被生命周期大于它的对象持有,GC无法回收,从而导致内存
Android工程中FTP加密传输与非加密传输的深度解析
详细的FTP传输实现方案,包括完整代码、安全实践、性能优化和实际应用场景分析。 ## 一、FTP
循序渐进 Android Binder(二):传递自定义对象和 AIDL 回调
本文讲述了使用 AIDL 传递自定义对象,并且在此基础上通过示例演示了 Binder 两端的双向交互,即服务端回调客户端接口的实现方法。 通过此文的学习,大家能够掌握 Binder 更深层次的用法。
栈与队列数据结构详解
栈(Stack)和队列(Queue)这两种基础且非常重要的线性数据结构。它们的核心区别在于数据元素的添加(插入)和移除(删除)遵循的规则不同。 1. 栈 (Stack) 核心理念: 后进先出 (La
Android 启动优化——依赖任务编排
一、前言 Android 启动任务优化是个成熟的话题,因为使用的方法和方案也是非常多的。另外,近些年的隐私协议合规制度的加强,也产生了启动任务管理器的出现,通过管理器而不是Application去初始
RxJava2 只看这一篇文章就够了
0. 简介 RxJava 其实就是提供一套异步编程的 API,这套 API 是基于观察者模式的,而且是链式调用的,所以使用 RxJava 编写的代码的逻辑会非常简洁。 其实可以把 RxJava 比喻成一个做果汁,家里有很多种水果(要发送的原始数据),你想榨点水果汁喝一下,这时候…
Android R8 耗时优化
终于我们全源码编译的 Release 包已经超过了40分钟了,感觉离提桶跑路不远了。使用 `--scan` 分析了编译过程,发现 `minifyReleaseWithR8` 任务耗时近14分钟。
循序渐进 Android Binder(一):IPC 基本概念和 AIDL 跨进程通信的简单实例
在 Android 系统中,Binder 占有举足轻重的地位。本文讲解了与 Binder 相关的 IPC 的基本概念,并使用了一个基于 AIDL 的跨进程通信实例来演示的 Binder 的使用。