Android面试
文章平均质量分 91
HMP*
这个作者很懒,什么都没留下…
展开
-
Handler源码分析及面试题
首先看下下面的面试题,根据问题进行源码分析。扩展:下图是在手机桌面点击应用图标,内部都发生了什么?涉及哪些通讯方式?如何打开了activity?1、在Launhaer界面点击按钮时,它会通过startActivity去打开Activity,但是此时没有Activity怎么办呢?通过AMS检测这些Activity的状态,发现此时Activity状态为不存在,那么,它会发送创建进程的请求到Zygote进程。Zygote进程就会去fork一个新的APP进程,新的进程是由AMS来进行管理。AMS原创 2021-04-16 09:04:11 · 621 阅读 · 0 评论 -
onActivityResult的使用很麻烦,为什么不设计成回调呢?
Activity中的onActivityResult在进行界面间的跳转和传递数据的时候,我们有的时候要获得跳转之后界面传递回来的状态,数据等信息。这个时候,我们不一定需要使用Intent进行跳转回原先设置的界面,而是使用onActivityResult方法就可以解决这个问题Activity的使用流程如下实例:public class MyActivityA extends AppCompatActivity implements View.OnClickListener { publi原创 2021-04-14 15:42:31 · 474 阅读 · 0 评论 -
Java泛型的实现机制
参考链接:https://www.cnblogs.com/coprince/p/8603492.html https://blog.csdn.net/seu_calvin/article/details/52230032基本知识:Java泛型编程是JDK1.5版本后引入的。泛型让编程人员能够使用类型抽象,通常用于集合里面。泛型有三种使用方式,分别为:泛型类、泛型接口、泛型方法泛型只在编译阶段有效ArrayList<String> a = new ArrayLi...原创 2021-04-13 18:39:19 · 228 阅读 · 0 评论 -
Java的多态和分派
参考链接:https://blog.csdn.net/qian520ao/article/details/79131216概念:多态Java具备面向对象的3个基本特征 : 继承,封装(get / set)和多态。多态 : 继承,重写(Override),向上转型(Father f=new Son())三大必要条件。分派分为静态分派和动态分派。分派调用过程将会揭示多态性特征的一些基本体现,如“重载”和“重写”。静态分派 - 方法重载分派 编译期确定 根据调用者的.原创 2021-04-13 11:34:41 · 135 阅读 · 0 评论 -
Java内部类
参考链接:https://www.zhihu.com/question/26954130/answer/708467570(一) 概述把类定义在另一个类的内部,该类就被称为内部类。(二) 内部类的访问规则 A:可以直接访问外部类的成员,包括私有 B:外部类要想访问内部类成员,必须创建对象(三) 内部类的分类 A:成员内部类 B:局部内部类 C:静态内部类 D:匿名内部类(1) 成员内部类成员内部类——就是位于外部类成员位置的类特点:可以使用.转载 2021-04-12 16:22:16 · 151 阅读 · 0 评论 -
java中的String可以有多长?
结论:1、局部变量放在java内存的栈中,以字节的个数代表String的长度,如果是拉丁字母,最长为65534(因为javac源码有个异常,不能为65535),如果含有中文(中文在utf-8中一般占三个字节),差别比较大,最大为65535。2、存储的是数组和对象,凡是new建立的都是在堆中,理论上String最大长度为Integer.MAX_VALUE,但是有些VMs(虚拟机)需要保留一些空间给头信息,所以此时最大为Integer.MAX_VALUE-8,随意堆上的String的长度尽量小于Inte原创 2021-04-12 10:51:56 · 7689 阅读 · 0 评论 -
Char如何储存UTF-8的字符?
结论java是用UTF-16储存字符的。Java的char大部分情况下是两个字节(有时是4个字节,如表示emoji)。Unicode是字符集,不是编码,作用类似于ASCII码。Java String字符串的length不是字符数而是字节个数。在Java(其中主要包括在JVM中、内存中、在代码里声明的每一个char、String类型的变量中。)中字符只以一种形式存在,那就是Unicode,不选择任何特定的编码,直接使用它们在字符集中的编号,这是统一的唯一的方法。在JVM内部,统一使用Unico原创 2021-04-11 16:04:40 · 3119 阅读 · 0 评论 -
二进制、八进制、十进制、十六进制关系及转换
转自:https://blog.csdn.net/ruidianbaihuo/article/details/87797979概念:二进制是计算机唯一使用的进制,因为计算机的根本是电路,电路只能表示两种情况,一种情况为没有电,可以表示数字0,一种情况为有电,可以表示数字1,再无第三种情况。计算机中使用的都是二进制,八进制和十六进制的出现其实都不是计算机的需要,它们的出现完全是出于表达和识别的方便性考虑的。一个较大的数用二进制表示就太长了,比如一个int类型的100(4个字节,总共32位),用二进转载 2021-04-11 09:48:37 · 3260 阅读 · 0 评论