前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >android开发面试题

android开发面试题

作者头像
fanfan
发布2022-05-07 14:20:24
3200
发布2022-05-07 14:20:24
举报
文章被收录于专栏:编程思想之路编程思想之路

找了将近两个星期的工作,面试了5家公司,罗列一下笔试或者面试时的问题,祝大家好运

1,handler机制

   答:handler运行机制:1),在主线程中创建handler

                                        2),子线程中借助主线程的handler传递一条message

                                        3),将message放入messagequeue即消息队列中

                                        4),主线程的looper检测到消息队列中有消息时进行更新UI

一个线程有唯一一个looper,唯一一个消息队列messagequeue,可以有多个handler。主线程有默认的looper,其他线程没有,需要创建

2,开启广播方式,各自优缺点,以及android中广播存在的机制原理

    答:xml中注册:常驻型广播,在activity创建之前就已经注册,在activity结束之后依旧存在

           代码中注册:非常驻型广播,与activity的声明周期相关,便于控制何时开始何时结束

3,如何屏蔽掉force close弹窗

    答:参考博客:

关于程序forceclose时优雅退出解决方案

4,contentProvider用法

5,mvc模式

 答:mvc框架是一种框架而不是设计模式,很多人会混淆,框架是指代码可以重用,可以用代码表示出来,而设计模式是说设计可以重用,比较抽象的概念。

          m(model)业务模型-v(view)视图-c(controller)控制器:该设计模式将业务逻辑和实现view分离开来,model管理数据,view显示视图,controller就负责当model数据发生变化时同步到view视图。

6,文件系统权限和运行时权限区别

  答:apk运行在虚拟机上时有运行时权限,只有体现在文件系统上时才有Linux的权限设置

7,如何避免recycleview加载图片乱序以及oom问题

8,三级缓存

9,动画所存在的bug

10,如何在退出时保存activity状态

答:如下:

代码语言:javascript
复制
@Override
	protected void onSaveInstanceState(Bundle outState) {
		// TODO Auto-generated method stub
		
		
		String name = mNameEt.getText().toString().trim();
		String age = mAgeEt.getText().toString().trim();
		outState.putString("name",name);
		outState.putString("age", age);
         super.onSaveInstanceState(outState);

 }  

11,socket通信

12,解释一下android的单线程模型

   答:android单线程模型是说android中ui的相关操作只能在主线程即ui线程中进行。如果再非ui线程中更新则会报异常。

13,请说一下图片加载框架的原理

14,说一下网络协议

15,android系统的体系结构

     答:android系统分用户空间user space和内核空间kernel space两层,之所以分两层是为了更好的支持硬件。

        user space又包括:applications应用程序层,application framework应用程序框架层,external library&android runtime外部库以及运行时库层,HAL(hardware abstract layer)硬件抽象层

        kernel space包括:linux device drivers linux设备驱动层,process management进程管理,memory management内存管理。

这是工作四个月后的面试题,因为没有培训过,完全是自学,所以有的简单,有的偏

祝正在找工作的好运!!!

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2016-02-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 关于程序forceclose时优雅退出解决方案
相关产品与服务
消息队列 CMQ 版
消息队列 CMQ 版(TDMQ for CMQ,简称 TDMQ CMQ 版)是一款分布式高可用的消息队列服务,它能够提供可靠的,基于消息的异步通信机制,能够将分布式部署的不同应用(或同一应用的不同组件)中的信息传递,存储在可靠有效的 CMQ 队列中,防止消息丢失。TDMQ CMQ 版支持多进程同时读写,收发互不干扰,无需各应用或组件始终处于运行状态。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档