一个Android开发者的知识体系

2024最新Android知识体系总结(全方面覆盖Android知识结构,面试&进阶) Android组件内核篇Activity与调用栈Fragment的管理与内核Service 内核原理组件间通信方案数据持久化篇Android文件系统轻量级Kv持久化嵌入式Sqlite数据库设计思想与代码优化篇数据结构算法设计模式六大原则程序性能优化篇OOM问题原理解析ANR问题解析Crash监控方案启动速度与执行效率优化项目实战布局检测与优化内存优化耗电优化网络传输与数据存储优化APK大小优化屏幕适配开发效率优化篇。 阅读详情

开始写博客啦!!!

从事Android开发两年多以来,一直在忙着业务上的问题,很多知识慢慢淡出了我的视野。但是偶尔在和其他项目参与者进行沟通的时候,还是能感觉到自己在很多方面的不足。所以我希望给自己列一个知识结构,或者说是一些需要学习到或者需要了解到的内容。一方面可以让自己随时翻阅,回顾,同时也可以给需要的朋友们一点参考。

作为一个安卓开发者,我在工作中接触的大多都是Android的知识,又因为项目中可能使用了大量的第三方框架,导致我对基础知识掌握的不够深入。比如我使用retrofit+okhttp进行项目中网络请求的操作,确实很方便,后果也是很明显的,网络五层结构,Http,Socket,TCP/IP,这些内容我都知道,但是你要让我深入,要我直接使用socket进行通讯,对不起我真的不会。这就会大大限制我的可能性,我不想只是做一个API Player。

下面的知识是都需要的,重要性会有点区别,还是要立身于本。

重建自身知识体系:

  • 操作系统
  • 计算机网络
  1. 了解大概的OSI七层结构。
  2. 熟悉TCP/IP的四层结构,了解每一层的工作原理。
  3. 熟悉HTTP协议,了解TCP协议的基本内容,以及TCP连接的建立和释放过程,知道原因。
  4. 会使用Android提供的URLConnection进行常规的网络请求,如GET,POST(包括文件的上传)请求等。
  5. 了解Socket通讯,知道如何使用Socket进行通讯,如使用socket进行HTTP通讯。
  • 数据结构与算法
  • 数据库
  • 设计模式
  • java基础
  • Android基础:下面的每一块儿都包含有深层次的知识,可以根据需要和自己的能力步步为营,深入学习
  1. 了解四大组件,如Activity的生命周期、状态的保存、启动模式等等。Activity基础
  2. 了解常用布局,常用控件的使用。
  3. 了解网络基础,了解图片加载技术。
  4. 能进行简单的自定义View。
  5. 了解drawable,可以进行常用drawable的开发。
  6. 了解消息机制。
  7. 了解Android中的线程和线程池。
  8. 了解Android中的动画,能进行简单动画的开发。
  9. 了解数据存储,文件,SharedPreference,SQLite以及基本的数据库知识。
  10. 简单常用的性能优化知识
  11. 熟练使用第三方SDK进行开发,如Retrofit+okHttp,Glide,GreenDao,Gson,EventBus,RX系列,分享,支付,地图等等的使用
  12. 其他开发常用的可能比较零碎的知识或者特定领域的知识,如相机开发,传感器开发,手势控制等等。
  • Android进阶
  1. 四大组件的细节知识
  2. IPC机制
  3. View的原理,动画的原理
  4. WIndow,WindowManager,WindowManagerService等等
  5. JNI,NDK开发
  6. Android性能优化
  7. 学习源码,等等等等


Android知识体系总结2020(全方面覆盖Android知识结构,面试&进阶) 内存优化[LeackCanary,BlockCanary] 依赖注入[ButterKnife,Dagger] 数据库轮子[LitePal,GreenDao…] 项目架构篇 MVC & MVP & MVVM 组件化 JetPack Android高级进阶篇 UI绘制过程 一个app启动过程 Android 动画机制 View事件分发 热更新 & 插件化 Handler源码分析 … Android优化篇 内存优化 布局优化 UI卡顿优化 UI适配优化 apk安全优化 An 阅读详情

相关推荐

【Qt for Android】第一个安卓程序

1)首先需要去官网上下载 Qt for android 版本的 Qt SDK 2)下载 android 相关的 SDK,下载地址不用找了,在Qt Creator工具选项的Android配置中有相应的下载链接地址。 3)下载完安卓SDK后,在上面的配置界面中指定相应SDK的目录,然后在"Build & Run"中新增Android的Kits

业精于勤荒于嬉,行成于思毁于随 3787

Android知识体系

公共技术知识点部分 Android Activity生命周期onCreate中的savedInstanceState有何具体作用Android资源文件 - 使用资源存储字符串 颜色 尺寸 整型 布尔值 数组Android系统架构解析 显而易见的,根据上图自底向上我们知道Android系统架构包含5大部分:Linux Kernel(Linux内核) 、Libraries(库)、An

monoCuty的专栏 924

Android全方面知识体系总结(可用于面试&进阶)

这是一份非常详细的Android知识体系图,花了笔者非常多的时间整理的,可用于面试和进阶,但是要跟笔者的博客结合一起看才行,笔者博客地址:https://blog.youkuaiyun.com/ClAndEllen/article/details/79257663

android知识体系汇总

对于一个程序员必须要经历的过程,初入职场你觉得能完成任务就行。第一阶段可称为搬运工阶段,你不需要了解原理,只要做出来就行。浑浑噩噩可能就5年光景了,你发现你做过很多项目,感觉什么都可以。第二阶段可称为眼高手低阶段,处于开发阶段。有一天你去面试,你觉得经验很丰富了,应该没什么问题,可面试官一连串的问题,让你哑口无言。第三阶段可称为觉醒阶段,人都是在被打击后挫败后,才会觉醒。于是开始往更高的方向进发,一切都要从源头说起,了解源码势在必行。

wang_yong_hui_1234的博客 829

Unity开源游戏源码精选:17个亲测可运行教学项目

Unity游戏开发中,掌握真实项目结构与工程实践远比熟记API更重要。本文围绕‘Unity开源项目’和‘游戏源码’两大核心概念,解析高质量开源资源的本质特征——结构清晰、逻辑可溯、修改即时反馈。从基础的MonoBehaviour生命周期组织,到进阶的ScriptableObject数据驱动、事件总线解耦,再到架构级的DOTS ECS设计与网络同步模式,技术价值在于将抽象原理落地为可调试、可验证、可迁移的代码范式。适用于新手建立开发直觉、中级开发者突破系统设计瓶颈,以及团队构建可维护框架。所有项目均基于Uni

weixin_31528001的博客 719

训练集、验证集、测试集!YOLO系列标签数量统计!

【代码】训练集、验证集、测试集!YOLO系列标签数量统计!

qq_26281057的博客 649

Android 知识体系

Android归档前言 前言 感谢: Gityuan:Android系统架构开篇 刘望舒的博客:知识体系

许浑的博客 8199

STM32接入CH340芯片的升级电路及初始化进入升级模式(死机)问题处理

MCU-REST 在 MCU-BOOT0 处于低电平状态下,进行下拉操作,在MCU-REST 与 MCU-BOOT0 恢复正常电平时,将导致MCU死机,MCU-REST 先于 MCU-BOOT0 下拉可解决该问题;MCU-REST 在 上升沿结束时将判断 MCU-BOOT0 的状态,MCU-BOOT0 处于高电平,MCU死机,MCU-BOOT0 处于低电平 MCU 正常;

LuDvei的博客 2491

最新 2020 Android 开发者知识体系

刚刚在 Github 上看到了一个很不错的仓库 ——Android Ecosystem Cheat Sheet 2020,地址如下:https://github.com/igorwoj...

秉心说 325

VSCode玩转ESP-ADF音频开发:从环境搭建到成功播放MP3的避坑全流程

本文详细介绍了如何在VSCode环境下使用ESP-ADF框架进行ESP32音频开发,从环境搭建到成功播放MP3的全流程。重点解析了`IDF_PATH`和`ADF_PATH`的配置问题,以及如何解决`xTaskCreateRestrictedPinnedToCore`等常见编译错误,帮助开发者快速上手ESP-ADF音频开发。

weixin_42520909的博客 339

麒麟linux离线源码编译安装zabbix-agent

离线源码编译安装zabbix-agent

qq_37263429的博客 2268

android自学资料!来自阿里巴巴佛系安卓程序员的指南,终局之战

目录 想要成为一名优秀的Android开发,你需要一份完备的知识体系,在这里,让我们一起成长为自己所想的那样。 PagerAdapter 介绍 ViwePager 缓存策略 ViewPager 布局处理 ViewPager 事件处理 相关内容 对于想进阶成为资深的Android开发者,我认为第一步你得会搭建自己的知识体系,整理自己已经掌握的知识点和需要了解深入的知识点,再去拓展自己的知识面,而不是盲目无方向的学习,什么’‘火’‘什么’‘热’'就去跟风学习什么技术,现在大前端很热,就放弃原生去学习跨平

m0_53537576的博客 176

文档信息抽取技术:从非结构化文本到结构化信息的旅程

文档信息抽取技术是一种将非结构化文本转化为结构化信息的技术。这种技术可以从各类文档中自动提取出如实体、关系和其他重要信息,并将它们转化为方便计算机进一步处理和分析的格式。

INTSIG的博客 980

工作出现瓶颈,学习效率下降?通学这份Android进阶知识体系,从入门到高级只是时间问题!

前言 工作一段时间一般都会出现一个瓶颈,这个时候学习的效率就会大打折扣,如果找不到好的方式,花的时间就会很长,然而进步的空间却很小。那么好的方式是什么呢?答案就是知识体系的思维导图。 构建自己的知识体系尤为重要,每个人都应该构建自己的知识体系,那么如何构建自己的知识体系呢?对于我来说,我是做 Android 开发的,从毕业到现在,大概六年多的时间,小公司呆过,大公司也呆过,自己独立开发过产品,同时也跟大团队一起开发过。因此基本上能经历的都会经历过,在这几年的开发时间里,我基本都会有学习总结的习...

weixin_44339238的博客 2765

《QT+PCL 第一章》:点云读取显示

点云读取显示一、核心代码二、QT设置三、效果展示 一、核心代码 二、QT设置 三、效果展示

阁楼 1万+

【数据集】基于ubESTARFM法的100m 地温LST数据集(澳大利亚)

【数据集】基于ubESTARFM法的100m 地温LST数据集(澳大利亚)

WW、forever的博客 265

Android 设备唯一标识(适配Android版本),高级安卓工程师面试题及答案

这是因为虚拟机是不存在的,所以Google就给你重复的数据,你想要真正获取到不一样的标识,还是要通过真机来操作,如果你不信的话,可以用自己电脑上的虚拟机试试,说不定你得到的数据和我这里也是一模一样的。看到图中画横线这个方法,你把鼠标放上去,它会说已经过时了,也就是弃用的意思,因为在build.gradle中当前的版本是Android11.0,而我之前说过,在Android9.0时就已经弃用了,使用过时的方法会很容易出问题,当然这个问题,你在可以使用的Android版本设备中运行是不会出现的。

2401_84023482的博客 862

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Android开发知识体系完全指南:从零到精通的终极学习路线

你是否曾经在Android开发的学习路上感到迷茫?面对海量的知识点,不知道从何入手?别担心,Android-Review项目为你提供了一套完整系统的学习方案,让你的技术提升之路更加清晰高效!✨ ## 📚 项目概览:你的Android知识宝库 Android-Review是一个持续更新的Android开发复习资料汇总项目,涵盖了Java基础、Android SDK、源码分析、计算机基础等全方位

gitblog_00864的博客 301

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

2020年Android最新知识体系最强总结(全方面覆盖Android知识结构,BAT面试&学习进阶)

###前言 只有站在更高的层级去审视自己,用更高层级做事的方式、方法、策略要求自己,有助于我们早日突破当下的境界。构筑一个优势维度,再从不同角度出发看待问题,构建多维度竞争力,可以让我们成为更丰富更有弹性的个体。不断的学习,不断提升自己,不断提升见识,能够帮助我们打破此时此地此情此景的禁锢,让我们走得更远。 此篇文章是初中高级工程师学习文章,知识体系较为完整。有如下特点: [1]知识结构全面 [2]跟随当下技术潮流实时更新 [3]可用于面试 & 学习 [4]知识分为文字部分和视频部分,任性选择

Android725的博客 1375

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

如何用Qt写一个安卓Android应用

至此环境就搭建好了,宝子们就可以掏出你Android系统的手坤用数据线连接电脑了,然后打开你手机的设置,找到关于本机,再然后连点几下版本号让手机处于开发者模式 ,在开发者选项中打开USB调试就OK啦。这里就可以绑定SDJ,NDK,JDK的路径了,JDK的路径会自动绑定你下载的,如果不是也很好找,一般就在C:\program Files(x86)\Java这个目录下。中间会让你选择安装目录,选择安装到你空间比较充足的地方就好了,比较简单就不放图了。

qq_59840326的博客 1万+

Android开发者知识体系

Android开发者知识体系 阿三的爱上 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。 新的改变 我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客: 全新的界面设计 ,将会带来全新的写作体验; 在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式 进行展示; 增

weixin_40293854的博客 331

万能安卓助手:一个强大的开源Android应用

万能安卓助手:一个强大的开源Android应用 该项目,,是由著名Android开发者鸿洋创建的一个开源Android应用示例。它旨在为开发者提供一个全方位学习和实践Android开发的平台,同时也是一款功能丰富的阅读类应用。 技术分析 MVVM架构:应用采用了现代的MVVM(Model-View-ViewModel)设计模式,使得代码结构清晰,易于维护。这有助于提升开发效率,并鼓励组件化开发...

gitblog_00079的博客 602

构建自己的Android知识体系

0. 背景 构建一个属于自己的知识体系,能够让我们学到的知识体系化.让自己清楚哪块是自己的知识盲区,哪块已经构建起根基.然后根据实际情况,有针对性的进行模块学习.让自己成为一个合格的Android工程师. 平时看博客或者学知识,学到的东西比较零散,没有独立的知识模块概念,而且学了之后很容易忘.于是我建立了一个自己的笔记仓库 (一个我长期维护的笔记仓库,感兴趣的可以点个star~你的star是我写作的巨大大大大的动力),将平时学到的东西都归类然后放里面,需要的时候呢也方便复习.过了段时间,我觉得这样还是不够好

潇风寒月 1632

android-utils:安卓开发者的实用工具集

android-utils:安卓开发者的实用工具集 在安卓应用开发中,我们常常需要处理各种琐碎的细节问题,比如文件操作、图像处理、日期格式化等。这些问题如果没有合适的工具类库支持,将会耗费大量时间去编写重复的代码。今天,我要为大家推荐一个开源的安卓工具库——android-utils,它能够帮助你提高开发效率,减少重复工作。 项目介绍 android-utils是一个安卓库项目,它提供了一系列的实...

gitblog_00528的博客 1078

一个资深的Android开发者需要掌握哪些技能?

写在前面 “Android高级工程师需要掌握哪些技能?” “怎样才能成为Android高级工程师?” 这些问题不只是刚刚从事Android开发不久的小伙伴才有疑问的,很多工作四五年的也同样会有这些疑问。(两三年没怎么升职加薪,技术也遇到瓶颈的开发者大有人在) 作为好的安卓开发,首先明确Android是前端,重点是UI,做出稳定的应用是关键。 很多人对Android属于一知半解的状态...

chuhe1989的博客 1381

安卓音频HAL移植教程:助力安卓开发者轻松掌握音频HAL移植技术

安卓音频HAL移植教程:助力安卓开发者轻松掌握音频HAL移植技术 去发现同类优质开源项目:https://gitcode.com/ 项目介绍 安卓音频HAL移植教程是一个开源项目,旨在为安卓开发者提供关于音频硬件抽象层(HAL)移植的详细资源文件。该项目涵盖了从基础知识到具体实践的全部内容,旨在帮助开发者深入理解并掌握安卓音频HAL移植的技术要点。 项目技术分析 基本知识 安卓音频HAL移植教程从...

gitblog_06750的博客 308
上一篇: ListView事件监听
下一篇: Android6.0 运行时权限
ApiPlayer
博客等级 码龄12年 34粉丝 17原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值