2018年Android最新面试题(一)

2023-10-27

最近在忙着找工作,所以趁热打铁写一份Android最新的面试题,希望可以帮助到大家。一直被问的问题Glide的源码(重点),最好和Picasso比较着说。
Glide原理(自己看):https://www.jianshu.com/p/3d699bf007c7

1.什么是接口?Android中有哪些机制是基于接口编程?
接口就是一些方法特征的集合,用interface修饰。
面向接口编程:http://blog.csdn.net/wangjinyu501/article/details/74355351

2.说明Activity和Service的生命周期?
Activity的生命周期
service的生命周期

3.Intent flag有哪些?作用是什么?
自己看(25种) :https://www.jianshu.com/p/08177910b0a2

4.Android的多线程模型有哪几种?
Android提供了四种常用的操作多线程的方式,分别是:
1. Handler+Thread
2. AsyncTask
3. ThreadPoolExecutor
4. IntentService
详细介绍:https://www.jianshu.com/p/2b634a7c49ec

5.如何规避oom?
1.使用更加轻量的数据结构
2.避免在Android里面使用Enum
3.减小Bitmap对象的内存占用
4.使用更小的图片
5.复用系统自带的资源
6.注意在ListView/GridView等出现大量重复子组件的视图里面对ConvertView的复用
7.Bitmap对象的复用
8.避免在onDraw方法里面执行对象的创建
9.避免对象的内存泄露(重点)
10.考虑使用Application Context而不是Activity Context
11.注意WebView的泄漏(重点)
12.资源文件需要选择合适的文件夹进行存放
13.谨慎使用static对象(重点)
14.特别留意单例对象中不合理的持有
15.珍惜Services资源
16.谨慎使用“抽象”编程
17.谨慎使用依赖注入框架
18..谨慎使用多进程
19.Handler的使用(重点)
20.强软弱虚引用的应用(重点)
22.主线程操作UI,子线程操作数据(必填)
原因地址:http://blog.csdn.net/ljx19900116/article/details/50037627

6.数据存储有哪些方式?
1.sharedpreferences 2.file 3.Sqlite 4.ContentProvide 5.网络存储

7.如何做多设备支持?
个人理解为屏幕适配,不知道出题者的意图

8.Android的布局方式有哪些?分别是如何实现OnDraw的?
LinearLayout,RelativeLayout,TableLayout,FrameLayout,AbsoluteLayout,GridLayout

9.ScrollView是否可以和listView混合使用?如何可以,说明混合使用的方式,如果不行,说明原因。
可以,计算整个ListView的高度,填充数据后重新设置ListView高度,重写onMeasure和onInterceptTouchEvent方法

10.在创建fragment时如何传递初始化参数?
Fragment初始化一定要提供默认构造函数。不能用构造函数传递参数!不要写带参数的构造函数。在Fragment里添加获取Fragment的newInstance函数,以后获取Fragment就使用这个函数,不要使用构造函数新建Fragment!使用setArgument和getArgument传递参数
详细地址和注意事项:http://blog.csdn.net/xiaofei_it/article/details/45675497

每篇文章10篇,答案仅做参考,非标准答案,如有疑问,可评论提出。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

2018年Android最新面试题(一) 的相关文章

随机推荐

  • elasticsearch 集群配置

    主节点配置 集群名称 cluster name demo 节点名称 每个节点的名称不能重复 node name es node 1 ip 地址 每个节点的地址不能重复 network host 172 16 10 1 是不是有资格主节点 n
  • Python-schema的使用

    不管我们做什么应用 只要和用户输入打交道 就有一个原则 永远不要相信用户的输入数据 意味着我们要对用户输入进行严格的验证 web开发时一般输入数据都以JSON形式发送到后端API API要对输入数据做验证 一般我都是加很多判断 各种if 导
  • Python生成随机数,并将生成的随机数组成10道加减乘除的基本算术题目

    编写一个小学生算术能力测试题 提供10道加减乘除四种基本算术运算的题目 联系者根据显示的题目输入自己的答案 程序自动判断输入的答案是否正确并显示出相应的信息 生成一到一百的随机数 import random x random randint
  • SRM系统是什么?

    SRM全称Supplier Relationship Management 即供应商关系管理 SRM管理系统即供应商关系管理系统 供应商管理系统是采购管理系统的一个子系统 也是采购管理系统的一个重要模块 是用于改进企业与供应商关系的联系 完
  • Mysql主键约束和唯一约束

    Mysql约束 1 作用 约束定义为确保数据完整性必须遵循的规则 约束可以在创建表的过程中创建 也可以稍后再添加 在创建表后添加约束时 它将检查现有数据以确定其是否违背该约束 如果现有数据违背了将添加的约束 那么将不会向指定列施加该约束 2
  • 找不到文件、主类名和文件名不一致、缺少分号的解决方法

    1 找不到文件 解决方法 源文件名不存在或写错 或者当前路径错误 2 主类名和文件名不一致 解决方法 声明为public的主类应与文件名一致 否则编译失败 3 缺少分号 解决方法 编译失败 注意错误出现的行数 再到源代码中指定位置改错
  • shell实例流程控制&函数

    条件 if then elif then fi if的条件部分经常使用test EXPRESSION或 EXPRESSION 实现 test的用法可以参见test if 条件1 if 条件1 then then 执行语句1 elif 条件2
  • MetaMask安装使用指南

    前言 MetaMask是一个以太坊钱包插件 虽然只能在Chrome浏览器中使用 但作为以太坊钱包的metamask却很受以太坊开发者欢迎 MetaMask除了是一个简单的钱包 它主要卖点是让使用者可以很容易跟以太坊的智能合约互动 或者说说M
  • DLUT C++上机作业(实验六)

    注意 博客所有代码在VS上均能编译通过 codeblocks等编译器可能因为某些变量名无法识别而无法编译 我的VS上不能用end做变量名就很迷呀 2 有一个交通工具类vehicle 将它作为基类派生小车类car 卡车类truck和轮船类bo
  • Java面试必备,JVM核心知识点总结!

    JVM基础 程序计数器 Program Counter Register CPU中的寄存器 作用 记住下一条JVM指令 特点 线程私有 唯一一个不会出现内存溢出的区域 虚拟机栈 Java virtual mechine Stack 线程私有
  • 数据库查询: 列出表的所有字段,“*”符号,查询指定字段数据,DISTINCT查询,IN查询,BETWEEN AND查询,LIKE模糊查询,对查询结果排序,分组查询,统计分组查询

    数据库查询 列出表的所有字段 符号 查询指定字段数据 DISTINCT查询 IN查询 BETWEEN AND查询 LIKE模糊查询 对查询结果排序 分组查询 统计分组查询 列出表的所有字段 通过SQL语句SELECT列出表的所有字段 具体语
  • 软考-嵌入式系统设计师-笔记:嵌入式系统软件基础知识

    文章目录 嵌入式软件基础知识 嵌入式操作系统基础知识 任务调度 信号量 页面置换算法 嵌入式系统程序设计 嵌入式软件基础知识 嵌入式软件分类 系统软件 控制和管理嵌入式系统资源 为嵌入式应用提供支持的各种软件 如设备驱动程序 嵌入式操作系统
  • build中配置resource配置,来防止资源导出失败

  • 我最喜爱的十大技术文档写作工具

    转载 老实说 我爱死微软的Word了 Adobe FrameMaker也曾辉煌过 不过你懂的 这东西有时候会令人抓狂 过去5年来 我一直使用同一套写作工具 我也曾尝试过一些新的工具 可我最终还是很专情于我的老相好们 在这里我总结了一下我所用
  • MATLAB中GUI界面内数据的读取和存储操作

    要求GUI界面的输入数据为int16中频数据文件 输出数据也为int16中频数据文件 第一步 获取数据函数 uigetfile 先自己存储数据用于验证 将仿真数据以int16的格式存于txt文件中 分I O两路 I路代表实部 O路代表虚部
  • STM32f10x学习----ADC和DMA功能 后附具体操作及使用过程中遇到的问题

    学习某一个东西 我们首先要了解这个东西的定义是什么 用来干什么的 怎么用 用的过程中有什么注意事项 这些都OK了 那么我们就算是基本掌握他了 0 前言 ADC Analog to Digital Converter的缩写 指模 数转换器或者
  • PyTorch错误定位系列之CUDA error: device-side assert triggered

    PyTorch错误定位系列之CUDA error device side assert triggered Introduction 本栏目只是提供一些自己遇到的错误的解决思路 Background 我昨天写了个模型加了focal loss
  • 遗传算法GA优化BP神经网络(GA-BP)回归预测-Matlab代码实现

    一 前言 代码获取 评论区或者私信获取 遗传算法 Genetic Algorithm GA 和反向传播神经网络 Backpropagation Neural Network BPNN 都是常用的优化算法和模型 可以联合使用进行回归预测问题的
  • python多线程低效问题

    重点 Python由于有全锁局的存在 同一时间只能有一个线程执行 并不能利用多核优势 终于找到cpu利用率低的原因了 Python解释执行原理 我是一个Python线程 我的工作就是解释执行程序员编写的Python代码 之所以说是解释执行
  • 2018年Android最新面试题(一)

    最近在忙着找工作 所以趁热打铁写一份Android最新的面试题 希望可以帮助到大家 一直被问的问题Glide的源码 重点 最好和Picasso比较着说 Glide原理 自己看 https www jianshu com p 3d699bf0