工作原理 Android 中通过 Window 作为屏幕的抽象,而 Window 的具体实现类是 PhoneWindow 。通过 WindowManager 和 Window...
工作原理 Android 中通过 Window 作为屏幕的抽象,而 Window 的具体实现类是 PhoneWindow 。通过 WindowManager 和 Window...
一、ClassLoader类图关系 ClassLoader、BootClassLoader、BaseDexClassLoader等之间关系,如下如: 二、双亲委托机制 1、定...
介绍 Java虚拟机(Java Virtual Machine,简称JVM)是Java语言的核心组件,它是一种执行Java字节码的虚拟计算机,负责将Java程序的字节码解释执...
ANR的全称是application not responding,意思就是程序未响应,类似于我们在windows上见到的程序未响应。ANR发生会使用户觉得我们的程序不友好,...
网络选择 Flutter自带httpClient,这个也是很好用的; Http库,有个三方库的名字就叫这个; Dio,这是目前最热门的,相当于iOS中AFNetworking...
一、概述 AIDL 意思即 Android Interface Definition Language,翻译过来就是Android接口定义语言,是用于定义服务器和客户端通信接...
一、目标结果:在手机桌面上生成一个和普通应用图标一样的图标,然后用户点击这个图标时,进入对应的应用中(当然你也可以给这个图标点击进入其他的app,主要根据你设置的包名而定) ...
一、动态代理 + Hook 的实现 在之前的文章我们讲过插件化的实现有点类似,插件化一般是替换系统的 mInstrumentation 为自己的 Instrumentatio...
It's right time to learn Android's Framework ! 前言 一个App是怎么启动起来的? App的程序入口到底是哪里? Launche...
1.1 谈谈你对Android性能优化方面的了解? 启动优化: application中不要做大量耗时操作,如果必须的话,建议异步做耗时操作 布局优化:使用合理的控件选择,少...
数组是什么? 答:1.数组是数据的一种数据类型;2.数组是由简单数据类型组成的复杂数据类型 创建数组的方法? 1.创建数组直接量 2.构造函数法 数组的特点? 数组是有索引的...
一、keep-alive是什么? <keep-alive>是vue内置的一个组件,能在组件的切换的过程中将状态保留在内存中,防止重复渲染DOM 包裹动态组件的时候,会缓存不活...
缓存穿透 缓存穿透是指查询一个一定不存在的数据,由于缓存是不命中时被动写的,并且出于容错考虑,如果从存储层查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到存储层...
一、Activity启动过程 首先我们要知道Activity有冷启动和热启动之分,通俗来说冷启动就是应用进程尚未创建,热启动则已经创建完成。 在点击桌面应用图标时,即将...
String a = "abc" 创建了0个或1个对象。首先在栈中定义一个引用变量a,检查字符串常量池中是否存在"abc",存在则直接指向"abc"的地址(指向的是字符串常量...
Linux进程间通信 基础概念 内核态/用户态 如上图所示,从宏观上来看,Linux操作系统的体系架构分为用户态和内核态(或者用户空间和内核空间)。操作系统的资源是有限的,如...
Java的垃圾收集机制是Java语言的一个重要特性,它可以自动地管理程序中的内存,避免了开发人员手动管理内存的繁琐和错误。 Java的垃圾收集机制基于可达性分析算法,即通过判...
Dialog创建 如下是Dialog类的构造函数,代码有缺省: 它创建了一个 Window,而这个 Window 的实现类是 PhoneWindow,它跟 Activity ...
1、Launcher Launcher作为Android系统的桌面,它的作用有两点:作为Android系统的启动器,用于启动应用程序;作为Android系统的桌面,用于显示和...
默哀色0.0在onCreate方法中调用