Android 实战进阶
文章平均质量分 93
以源码为例,解读Android背后的故事。
帅次
CSDN博客专家,华云云享专家,专注Android开发多年,分享一些你需要的小知识点!
展开
-
Android 电量优化概览
一、三大耗电模块一、三大耗电模块1.显示2.网络3.CPU二、显示避免时常唤醒屏幕不要阻止手机休眠过度绘制2.1 Overdraw简介。原创 2023-11-21 06:00:00 · 551 阅读 · 0 评论 -
Android 屏幕适配
由于Android系统的开放性,OEM厂商、运营商都可以对Android进行定制,于是导致运行 Android 的设备多种多样,它们有着不同的屏幕尺寸和像素密度。尽管系统可通过基本的缩放和调整大小功能使界面适应不同屏幕,但你应做出进一步优化,以确保界面能够在各类屏幕上美观地呈现。原创 2023-11-18 06:00:00 · 487 阅读 · 0 评论 -
Android Framework 启动流程必知必会
系统启动流程解析原创 2023-03-06 07:00:00 · 1428 阅读 · 2 评论 -
Android 手把手带你搭建一个组件化项目架构
组件化基于可重用的目的,将应用拆分成多个独立组件,以减少耦合、加快编译速度、提高开发效率、代码复用。原创 2021-11-24 10:30:26 · 2840 阅读 · 27 评论 -
Android OkHttp+Retrofit+Rxjava+Hilt实现网络请求框架
本文通过OkHttp+Retrofit+Rxjava+Hilt实现一个网络请求框。 最终代码特别省事。原创 2021-11-17 18:17:10 · 3320 阅读 · 27 评论 -
Android IPC 之 AIDL 使用
仅当你允许来自不同应用程序的客户端访问你的 IPC 服务并希望在您的服务中处理多线程时,才需要使用 AIDL。 如果是多进程单线程那么使用 Messenger 就可以了。原创 2021-10-29 11:41:14 · 1438 阅读 · 2 评论 -
❤️ Android IPC 之 Messenger使用 ❤️
多进程、单线程用Messenger。多进程、多线程用AIDL。原创 2021-10-24 08:00:00 · 546 阅读 · 24 评论 -
❤️Android Binder原理图解❤️
Binder 是 Android 系统中进程间通信机制(IPC)的一种方式,它是这些进程间通讯的桥梁。正如其名"粘合剂"一样,它把系统中各个组件粘合到了一起,是各个组件的桥梁。原创 2021-10-22 12:26:51 · 1126 阅读 · 55 评论 -
❤️Android 12 高斯模糊-RenderEffect❤️
Android 12 高斯模糊-新功能: RenderEffect 将模糊、色彩滤镜等效果应用于 RenderNode 或 View。原创 2021-10-21 10:40:07 · 5398 阅读 · 31 评论 -
❤️Androd 性能优化之布局优化❤️
性能优化之布局优化,减少嵌套,多布局复用(和)和使用ViewStub。原创 2021-10-20 10:41:18 · 777 阅读 · 22 评论 -
Android APK瘦身
Android Studio 的 APK Analyser;Matrix中 的 ApkChecker(传送);Lint查找无用文件;启用压缩、混淆和优化功能;文件优化。原创 2021-09-10 18:23:56 · 1309 阅读 · 28 评论 -
❤️Android 性能优化之启动优化❤️
应用启动慢,轻则被鄙视,重则直接卸载你的应用。本文就是来了解应用的启动内部机制和怎么有优化启动速度。原创 2021-10-18 12:38:18 · 769 阅读 · 29 评论 -
❤️Android 进程与线程 ❤️不好不要钱
1、概念1.1 进程 程序运行的基本单元。 系统资源分配和调度的基本单位。 有自己独立的地址空间。 多个进程可并发执行。 1.2 线程 程序执行的最小单位。 CPU调度和分派的基本单位。 没有独立的地址空间,多个线程共享地址空间。 多个线程可并发执行,某一个线程可以创建和撤销另外的线程。 1.3 进程和线程的区别 地址空间:同一进程的线程共享本进程的地址空间,而进程之间则是独立的地址空间。 资源拥有:同一原创 2021-10-12 19:05:52 · 3794 阅读 · 20 评论 -
❤️ Android startActivity源码分析(含启动新应用) ❤️
开局一张图❝源码版本:Android 11(SDK 30)❞概念 ActivityStack:Activity在ATMS的栈管理,用来记录已经启动的Activity的先后关系,状态信息等。通过ActivityStack决定是否需要启动新的进程。 ActivitySupervisor:管理 activity 任务栈。 ActivityThread:ActivityThread 运行在UI线程(主线程),App的真正入口。 ApplicationThread:原创 2021-10-10 09:00:00 · 1654 阅读 · 27 评论 -
❤️ Android 应用是如何启动的?❤️
前言作为多年的 Android 开发,写了不少应用,但是一个App到底是怎么启动起来的?你要说桌面点一下就启动了,那也对。但是它的启动过程呢?带着这样的疑问,咱们来一步步学习。Android 启动过程一般在任何平台上,都会逐步加载和执行以下组件: Boot loader U-boot (optional) Kernel Android Android进程有以下顺序: Init Zygote System Server S原创 2021-09-30 18:00:39 · 2117 阅读 · 19 评论 -
❤️Android 从源码解读 Apk 的安装过程 ❤️
App安装过程:源码:Android SDK 30。当我们点击某一个 App 安装包进行安装时,首先会弹出一个系统界面指示我们进行安装操作。这个界面是 Android Framework 中预置的一个 Activity>PackageInstallerActivity.java。故事就从这里开始了。原创 2021-09-24 18:04:01 · 2353 阅读 · 35 评论 -
❤️Android Apk 的打包过程 ❤️ 只需两幅图
前言在分析安装过程之前,需要先了解一下 Android 项目是如何经过编译->打包生成最终的 .apk 格式的安装包。谷歌有一张官方图片来描述 apk 的打包流程,如下图所示。Android 应用模块的构建过程(如上图所示)遵循以下一般步骤: 1、编译器将你的源代码转换为 DEX(Dalvik 可执行文件)文件,其中包括在 Android 设备上运行的字节码,以及其他所有内容到编译资源中。 2、APKPackager将DEX文件和编译后的资源组合成一个APK。但是,在将你的原创 2021-09-17 10:48:02 · 2881 阅读 · 36 评论 -
Android 彻底掌握 Handler 看这里就够了
Handler 有两个主要用途:1、安排消息和可运行对象在将来的某个时间执行;2、将要在与您自己的线程不同的线程上执行的操作排入队列。原创 2021-09-11 18:10:27 · 1564 阅读 · 30 评论 -
Android 深入了解 Window 、Activity、 View 三者关系
Window、Activity、View都经常用到,但三者关系还是没有系统的理清,今天咱们就开始整理整理这三者的关系:Window:顶级窗口外观和行为策略的抽象基类。唯一实现是 PhoneWindow类。Activity:四大组件之一,它提供一个界面让用户点击和各种滑动操作。View:代表用户界面组件的基本构建块,UI 组件。源码:Android SDK 30Activity.setContentView...原创 2021-09-08 17:50:16 · 2997 阅读 · 16 评论 -
Android RecyclerView 绘制流程及Recycler缓存
RecyclerView本质上也是一个自定义控件,因此我们可以沿着分析其 onMeasure -> onLayout -> onDraw 这 3 个方法的路线来深入研究。缓存复用是 RecyclerView 中另一个非常重要的机制,这套机制主要实现了 ViewHolder 的缓存以及复用。原创 2021-09-02 11:04:09 · 1314 阅读 · 42 评论 -
Android OkHttp使用和源码详解
OkHttp 是一套处理 HTTP 网络请求的依赖库,由 Square 公司设计研发并开源,目前可以在 Java 和 Kotlin 中使用。对于 Android App 来说,OkHttp 现在几乎已经占据了所有的网络请求操作,RetroFit + OkHttp 实现网络请求似乎成了一种标配。因此它也是每一个 Android 开发工程师的必备技能,了解其内部实现原理可以更好地进行功能扩展、封装以及优化。原创 2021-09-08 10:37:03 · 1283 阅读 · 20 评论 -
Android Touch事件分发(源码分析)
源码分析:Activity事件分发机制;ViewGroup事件分发机制;View事件分发机制。原创 2021-07-28 18:32:55 · 1153 阅读 · 12 评论 -
Android Glide 缓存机制及源码全解
Glide 会在开始一个新的图片请求之前检查以下多级的缓存:活动资源 (Active Resources) - 现在是否有另一个 View 正在展示这张图片?内存缓存 (Memory cache) - 该图片是否最近被加载过并仍存在于内存中?资源类型(Resource) - 该图片是否之前曾被解码、转换并写入过磁盘缓存?数据来源 (Data) - 构建这个图片的资源是否之前曾被写入过文件缓存?原创 2021-08-31 13:47:09 · 1643 阅读 · 24 评论