❤️[灵魂拷问]Android面试高频100问(架构师方向)❤️【建议收藏】

本文是面向开发人员的Android面试高频问题汇总,涵盖Activity生命周期、Service、性能优化、事件处理、线程、开源框架等多个方面。通过对这些问题的回答,帮助开发者深入理解Android知识点,提升面试能力。内容包括Activity的创建与销毁、Service执行、内存优化、线程间通信、Android应用结构等。
摘要由CSDN通过智能技术生成

前言

本文主要受众为开发人员,所以不涉及到Android的服务部署等操作,且内容较多,大家准备好耐心和瓜子矿泉水.
前一阵空闲下来整理了下前阿里P7高级工程师留下Android高频面试题,之前在网上偶然看到一篇和Android相关的面试文章,发现其中的一些问题自己也回答不好,虽然知识点大部分都知道,但是无法将知识串联起来.
因此决定搞一个Android灵魂100问,试着用回答问题的方式,让自己对知识点的理解更加深入一点.
此文不会事无巨细的从Android的用法开始讲解,主要针对的是开发人员需要知道的一些Android的知识点,主要包括基础,项目、性能优化、开源框架等方面,以在面试中高频的问句形式给出答案.(文末有惊喜)

Activity相关

1、什么是Activity?
四大组件之一,一般的,一个用户交互界面对应一个activity
setContentView() ,// 要显示的布局
button.setOnclickLinstener{
}, activity 是Context的子类,同时实现了window.callback和keyevent.callback, 可以处理与窗体用户交互的事件.
我开发常用的的有FragmentActivitiyListActivity ,PreferenceActivity ,TabAcitivty等
2、请描述一下Activity 生命周期
Activity从创建到销毁有多种状态,从一种状态到另一种状态时会激发相应的回调方法,这些回调方法包括:onCreate onStart onResume onPause onStop onDestroy
其实这些方法都是两两对应的,onCreate创建与onDestroy销毁;
onStart可见与onStop不可见;onResume可编辑(即焦点)与onPause;
如果界面有共同的特点或者功能的时候,还会自己定义一个BaseActivity.
进度对话框的显示与销毁
3、常见的Activity类型有FragmentActivitiy,ListActivity,TabAcitivty等。请描述一下Activity 生命周期
Activity从创建到销毁有多种状态,从一种状态到另一种状态时会激发相应的回调方法,这些回调方法包括:onCreate onStart onResume onPause onStop onDestroy
其实这些方法都是两两对应的,onCreate创建与onDestroy销毁;
onStart可见与onStop不可见;onResume可编辑(即焦点)与onPause。
4、两个Activity之间跳转时必然会执行的是哪几个方法?
一般情况下比如说有两个activity,分别叫A,B,当在A里面激活B组件的时候, A会调用 onPause()方法,然后B调用onCreate() ,onStart(), onResume()。
这个时候B覆盖了窗体, A会调用onStop()方法. 如果B是个透明的,或者是对话框的样式, 就不会调用A的onStop()方法。

Service相关

1、Service是否在main thread中执行, service里面是否能执行耗时的操作?
默认情况,如果没有显示的指servic所运行的进程, Service和activity是运行在当前app所在进程的main thread(UI主线程)里面。
service里面不能执行耗时的操作(网络请求,拷贝数据库,大文件 )
特殊情况 ,可以在清单文件配置 service 执行所在的进程 ,让service在另外的进程中执行

<service
            android:name="com.baidu.location.f"
            android:enabled="true"
            android:process=":remote" >
        </service>

2、什么是IntentService?有何优点?
我们通常只会使用Service,可能IntentService对大部分同学来说都是第一次听说。那么看了下面的介绍相信你就不再陌生了。如果你还是不了解那么在面试的时候你就坦诚说没用过或者不了解等。并不是所有的问题都需要回答上来的。

3、Activity怎么和Service绑定,怎么在Activity中启动自己对应的Service?

  • Activity通过bindService(Intent service, ServiceConnection conn, int flags)跟Service进行绑定,当绑定成功的时候Service会将代理对象通过回调的形式
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值