banner
按时间整理的学习笔记。

文章归档

Scroll down
面试

从以下几个方面阐述堆(heap)和栈(stack)的区别。

前言

EventBus可以很容易地实现组件与组件之间的通信,无论跨线程与否,简单的注册与监听,就可以让我们轻松实现。

面试问题收集

Android

启动

启动模式

  1. standard 标准模式
  2. singleTop 栈顶复用模式 (例如:推送点击消息界面)
  3. singleTask 栈内复用模式 (例如:首页)
  4. singleInstance 单例模式 (单独位于一个任务栈中,例如:拨打电话界面)

网络

网络模块 面试主要涉及到 应用层(HTTP DNS等) 和 传输层 (TCP UDP)的东西,

TCP UDP

TCP 连接 :传输可靠;有序;面向字节流;速度慢;较重量;全双工; 适用于文件传输、浏览器等

全双工:A 给 B 发消息的同时,B 也能给 A 发
半双工:A 给 B 发消息的同时,B 不能给 A 发

UDP 无连接 :传输不可靠;无序;面向报文;速度快;轻量; 适用于即时通讯、视频通话等

下面为Token获取的整个流程图:

前言

我们创建线程的常见方式一般有继承Thread类以及实现Runnable接口,其实Thread类也是实现了Runnable接口。通过这两种方式创建的线程,在执行完毕之后都会被销毁,这样频繁的创建和销毁线程是一件很浪费资源到的事情。那么,有没有什么办法解决这个问题呢?通过创建线程池就可以解决这个问题。

add+show+hide 模式下的老方案

在没有添加懒加载之前,只要使用 add+show+hide 的方式控制并显示 Fragment, 那么不管 Fragment 是否嵌套,在初始化后,如果只调用了add+show,同级下的 Fragment 的相关生命周期函数都会被调用。且调用的生命周期函数如下所示:
onAttach -> onCreate -> onCreatedView -> onActivityCreated -> onStart -> onResume
2020年中高级Android大厂面试秘籍

商城截图
  • 03/13
  • 12:51

商城部分截图

12
请输入关键词进行搜索