收录一些常用的面试题目

1.Android 中的动画有哪几类?

两种: Tween(补间)动画
Frame(帧)动画
Tween 动画可以使视图组件移动、放大、缩小以及产生透明度的变化;

Frame 动画通过顺序的播放排列好的图片来实现,类似电影;

2.Handler 机制的原理

Android 提供了Handler 和 Looper 来满足线程间的通信。

Handler 实行先进先出原则。

Looper 类用来管理特定线程内对象之间的信息交换(Message Exchange)。

1)Looper : 一个线程可以产生一个Looper 对象,又它来管理此线程里的Message Queue(消息队列)

2)Handler : 你可以构造Handler 对象来与Looper 沟通,以便push 新消息到Message Queue里,或者接收Looper 从 Message Queue 取出来的消息。

3)Message Queue(消息队列): 用来存放线程放入的消息。

4)线程 : UI Thread 通常是 Main Thread , 而 Android 启动程序时会替它建立一个Message Queue。

3. Activity 生命周期

4. Intent - 通信的使者
1)显示调用和隐式调用
显示Intent : 通过指定Intent组件名称来实现的,它一般用在知道目标组件名称的前提下,一般是在相同的应用程序内部实现的。
隐式Intent : 通过Intent Filter 来实现的,它一般用在没有明确指出目标组件名称的前提下,一般是用在不用应用程序之间

5. ANR是什么?如何尽量避免?
Application Not Responding , 5秒。
1)尽量避免在主线程做太多耗时的操作
2)如需处理耗时的操作可以新建一个子线程

6. 有哪些情况会导致Force Close?
1) 常见有空指针

7. Android 4大组件是?
Activity 、Service 、BroadcastReceiver 、Content Provider

8. Activity 横竖屏切换时生命周期调用
1)不设置Activity的android:configChanges时,切屏会重新调用各个生命周期,切横屏时会执行一次,切竖屏时会执行两次。
2)设置Activity的android:configChanges="orientation"时,切屏还是会重新调用各个生命周期,切横、竖屏时只会执行一次。
3)设置Activity的android:configChanges="orientation|keyboardHidden"时,切屏不会重新调用各个生命周期,只会执行onConfigurationChanged方法

9. 如何将SQLite数据库(dictionary.db文件)与APK文件一起发布?
将dictionary.db文件放到res raw 目录下。

10. 如何打开res raw 目录中的数据库文件?
在Android中不能直接打开res raw目录中的数据库文件,而需要在程序第一次启动时将该文件复制到手机内存或SD 卡的某个目录下,然后再打开该数据库文件。
复制的基本方法是使用getResources().openRawResource方法获得res raw目录中资源的InputStream对象,然后将该InputStream对象中的数据写入其他目录中相应文件中。在Android SDK中可以使用SQLiteDatabase.openOrCreateDataBase 方法来打开任意目录中的SQLite数据库文件。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值