导航菜单
首页 >  考研面试35个经典问题及答案大全  > Android面试:整理了Android面试官最常问的26道面试题 ,教你吊打面试官

Android面试:整理了Android面试官最常问的26道面试题 ,教你吊打面试官

前言

面试时总被面试官挖的Android基础题掉坑里?整理了26道面试题 ,牢固你的基础!(附《Android开发面试题以及答案整理》!)

1.如何对 Android 应用进行性能分析

2.什么情况下会导致内存泄露

3.如何避免 OOM 异常

4.Android 中如何捕获未捕获的异常

5.ANR 是什么?怎样避免和解决 ANR(重要)

6.Android 线程间通信有哪几种方式

7.Devik 进程,linux 进程,线程的区别

8.描述一下 android 的系统架构

9.android 应用对内存是如何限制的?我们应该如何合理使用内存?

10. 简述 android 应用程序结构是哪些

11.请解释下 Android 程序运行时权限与文件系统权限的区别

12.Framework 工作方式及原理,Activity 是如何生成一个 view 的,机制是什么

13.多线程间通信和多进程之间通信有什么不同,分别怎么实现

14.Android 屏幕适配

15.什么是 AIDL 以及如何使用

16.Handler 机制

17.事件分发机制

18.子线程发消息到主线程进行更新 UI,除了 handler 和 AsyncTask,还有什么

19.子线程中能不能 new handler?为什么

20.Android 中的动画有哪几类,它们的特点和区别是什么

21.如何修改 Activity 进入和退出动画

22.SurfaceView & View 的区别

23.开发中都使用过哪些框架、平台

24.使用过那些自定义View

25.自定义控件:绘制圆环的实现过程

26.自定义控件:摩天轮的实现过程

27.GridLayout的使用

28.流式布局的实现过程

29.第三方登陆

30.第三方支付

31.进程保活

由于文章篇幅限制,不可能将所有面试题以文字形式把大厂面试题展示出来,本篇为大家精选了一些面试题,如果你需要这份完整版的面试笔记,大厂面试真题!可以直接点击下方卡片领取

一、性能优化 1.如何对 Android 应用进行性能分析

android 性能主要之响应速度 和UI刷新速度。

可以参考博客:Android系统性能调优工具介绍

首先从函数的耗时来说,有一个工具TraceView 这是androidsdk自带的工作,用于测量函数耗时的。

UI布局的分析,可以有2块,一块就是Hierarchy Viewer 可以看到View的布局层次,以及每个View刷新加载的时间。

这样可以很快定位到那块layout & View 耗时最长。

还有就是通过自定义View来减少view的层次。

2.什么情况下会导致内存泄露 内存泄露是个折腾的问题。

什么时候会发生内存泄露?内存泄露的根本原因:长生命周期的对象持有短生命周期的对象。短周期对象就无法及时释放。

1.静态集合类引起内存泄露

主要是hashmap,Vector等,如果是静态集合 这些集合没有及时setnull的话,就会一直持有这些对象。

2.remove 方法无法删除set集Objects.hash(firstName, lastName)经过测试,hashcode修改后,就没有办法remove了。

3.observer 我们在使用监听器的时候,往往是addxxxlistener,但是当我们不需要的时候,忘记removexxxlistener,就容易内存leak。

广播没有unregisterrecevier

4.各种数据

相关推荐: