IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> 安卓初中级开发基础知识整理(面试自用) -> 正文阅读

[移动开发]安卓初中级开发基础知识整理(面试自用)


前言

今天闲暇之余来整理一下工作中经常使用知识,比较枯燥和基础,特此记录,我称其为安卓八股文,当然安卓的东西非常的多,这里只记录比较常见的,话虽如此,也很多很多了。

下文会比较枯燥,因为是整理所以很多都是链接

在这里插入图片描述


一、Android之四大组件、六大布局、五大存储

Android之四大组件、六大布局、五大存储

四大组件
在这里插入图片描述

二、安卓线程原理

1、基础使用

继承Thread类
实现Runnable接口
Handler
2、复合使用

AsyncTask
HandlerThread
IntentService
3、高级使用

线程池(ThreadPool)
Android实现多线程的几种方式

三、安卓开源框架

一些主流的:
网络框架
OKHttp详解
android retrofit 从无知到入门(retrofit是基于OKHttp封装)

sqllite数据库框架
greendao
room(jecpack)

数据绑定
Android ButterKnife(黄油刀)的使用

响应式编程框架
rxjava

小众的(博主自己工作涉及到的,还是比较火的,这边就不分类了)

andserver(网络框架)
zxing(扫码)

第三方接入经验,这个的话就多了,支付宝微信讯飞极光之类的巴拉巴拉,很多,要有自己的经历才能说得出来了

三、安卓架构MVC、MVP、MVVM

MVC、MVP、MVVM之间的区别和联系

四、设计模式

虽然是在java语言角度上写的,但是写的真的非常好
Java常见设计模式总结

面试题整理

不是什么大厂,就是博主自己去面试问到的一些问题,比较基础,但我第一次遇到的时候真的有没反应过来的问题,整理过的知识点的面试题就没有单独拿出来了

1.Activity A 跳转到 Activity B,生命周期的执行过程

Activity A 跳转到 Activity B,生命周期的执行过程
妈妈不担心系列之Activity的生命周期
这个文章题目比较。。。但是内容比较全

2.Android广播接收器(BroadcastReceiver)的启动优先级问题

Android广播接收器(BroadcastReceiver)的启动优先级问题

3.五大存储(见上文 Android之四大组件、六大布局、五大存储)

4.Android自定义view的种类

1.自绘控件,继承view,重写onDraw方法,在其中进行绘制,需要自己适配边距等等
2.继承ViewGroup派生的特殊Layout,主要用于实现自定义布局,也需要自己适配边距等
3.继承特定的View(如TextView等),不用自己适配支持wrap_conten,match_parent,可以给其加入新的功能
4.继承特定的ViewGroup,例如linearlayout,多用于多个控件的组合view,也不用自己去做适配
5.(个人补充,依据自己的经验说)activity设置弹窗模式

5.Activity 的四种启动模式

standard
? 每次启动都会重新创建一个实例,不管这个 Activity 在栈中是否已经存在。谁启动了这个 Activity,那么 Activity 就运行在启动它的那个 Activity 所在的栈中。用 Application 去启动 Activity 时会报错,原因是非 Activity 的 Context 没有任务栈。解决办法是为待启动 Activity 制定 FLAG_ACTIVITY_NEW_TASH 标志位,这样就会为它创建一个新的任务栈。
singleTop
?如果新 Activity 位于任务栈的栈顶,那么此 Activity 不会被重新创建,同时回调 onNewIntent 方法。onCreate 和 onStart 方法不会被执行。
singleTask
? 这是一种单实例模式。如果不存在 activity 所需要的任务栈,则创建一个新任务栈和新 Activity 实例;如果存在所需要的任务栈,不存在实例,则新创建一个 Activity 实例;如果存在所需要的任务栈和实例,则不创建,调用 onNewIntent 方法。同时使该 Activity 实例之上的所有 Activity 出栈。
参考:taskAffinity 属性用于标识 Activity 所需要的任务栈,相同标识的 Actvity 会在同一个栈中。
singleIntance
? 单实例模式。具有 singleTask 模式的所有特性,同时具有此模式的 Activity 只能独自位于一个任务栈中。所以每次都会新建一个栈。
可以通过命令行 adb shell dumpsys activity 命令查看栈中的 Activity 信息。

6.单例模式下如果想要三个实例怎么写

在判空的地方根据不同的次数返回不同的实例(这个是个人理解,如有错误请在评论区加以指正)

7.Java四种引用

这个问题是我自己说用到了弱引用解决activity内存泄漏问题衍生出来的。
Java四种引用


总结

站在巨人的肩膀上,吃透找工作轻轻松松啦,后面再有面试再补充

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2022-06-08 19:10:08  更:2022-06-08 19:10:12 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 1:52:33-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码