Android面试
Android小兰
Android小菜鸟,飞起来
展开
-
Android基础(数据结构)
今晚不想写公司项目了,头晕晕的,整理下数据结构吧:首先,需要明白数据结构的继承关系,数据结构一切都源于Collection接口和Map接口~Collection继承接口Iterable:顾名思义迭代,该接口只是返回了迭代器对象Iterator<T> iterator();接下来就可以通过iterator的hasNext方法对list进行迭代了。数据结构分为线性表首...原创 2020-05-02 21:21:51 · 1165 阅读 · 0 评论 -
Android 算法面试题
冒泡排序:重复地走访过要排序的数列,每次比较相邻两个元素,如果它们的顺序错误就把它们交换过来,越大的元素会经由交换慢慢“浮”到数列的尾端。for(int i=0;i<list.length;i++){ for(int j=i+1;j<list.length;j++){ if(list[i]>list[j]){ int te...原创 2020-04-23 10:16:38 · 264 阅读 · 0 评论 -
Android面试六(Binder)
一,Linux内核的基础知识1,进程隔离/虚拟地址空间:进程间是相互独立的,不可以直接共享数据的。不同的进程分配在不同的虚拟地址空间,都有自己独立的内存来存储数据。2,系统调用:对内核保护,支队应用程序开放许可的资源。应用程序可以通过系统调用来调用内核的部分开放程序。3,binder驱动:各个进程间,通过binder通信进行交互。二,Binder通信机制介绍1,为什...原创 2019-08-02 13:08:07 · 144 阅读 · 0 评论 -
Android面试四(BroadCast)
一,广播1,广播定义Broadcast是一种广泛运用的在应用程序之间传输信息的机制,Android中我们要发送的广播内容是一个Intent,这个Intent中可以携带我们要传送的数据。(其实类似于观察者模式,当被观察者数据变化时,会通知所有观察者。)2,使用场景可以在同一个app具有的多个进程的不同组件之间的通信机制。不同APP之间的组件之间消息通信。3,广播种类(1)...原创 2019-08-02 10:54:35 · 178 阅读 · 0 评论 -
Android面试(Java部分)
目录一,Java基础1.谈谈你对java多态的理解2.== 和 equals 和 hashCode的区别3.String,StringBuilder,StringBuffer的区别4.内部类5.抽象类(abstract class)和接口(interface)的区别6.进程和线程的区别7.序列化8,synchronized,volatile关键字9,强...原创 2019-08-05 18:15:35 · 341 阅读 · 0 评论 -
Activity面试三(Service)
一,serviceservice是一种可以在后台执行长时间运行操作而没有用户界面的应用组件。二,service和Thread的区别(其实二者没有任何关系的)(1)Service运行在主线程上,不是独立的,是依托于主线程的,不能执行耗时操作,否则会ANR,注意,服务不是后台。如果一定要进行耗时操作:可以新开线程执行耗时操作。(既然service也是新开线程执行耗时操作,但为什么不...原创 2019-07-31 21:43:47 · 146 阅读 · 0 评论 -
Activity面试二(Fragment)
一,为什么被称为第五大组件有自己生命周期,但是必须依附activity1,fragment加载到activity的两种方式动态:通过fragmentTransaction:fragmentManager=getSupportFragmentManager();fragmentTransaction=fragmentManager.beginTransaction();s...原创 2019-07-26 18:36:06 · 115 阅读 · 0 评论 -
Android面试一(Activity面试)
一,Activity生命周期onCrate(),onStart(),OnResume(),onPause(),onStop(),onDestory()1,4种状态running/paused/stopped/killedstopped:不可见,被另一个Activity覆盖,如果内存不紧张,成员变量还会在2,生命周期分析2.1,启动: onCreate(),onDestory...原创 2019-07-26 15:35:38 · 203 阅读 · 0 评论 -
Android面试七(线程及线程间通信)
1,线程的概念线程是进程中的多条执行线路.2.开启线程的三种方法第一种:继承Thread类,覆盖run方法,使用start方法开启线程,使用简单。第二种:实现Runnable接口,重写run方法,创建runnable实例作为target,传入Thread中,即new Thread(runnable).start();这样耦合度低,类的扩展性更好。第三种:匿名内部类new Thre...原创 2019-08-02 17:05:11 · 386 阅读 · 0 评论