Android面试题(36-40)

36、什么是 Serializable?
37、什么是 ANR?
38、什么是 OOM?
39、什么是 Context?
40、什么是 Application?

36、Serializable是Java中用于对象序列化的接口,实现该接口的对象可以被序列化为字节流,存储在磁盘或通过网络传输。在Android开发中,Serializable接口也常用于Intent传输数据或在Activity之间传递数据。

37、ANR指的是“Application Not Responding”,即应用程序无响应,通常在主线程执行耗时操作时会出现。Android系统会在5秒钟内监测到UI线程的响应,如果超过这个时间,系统就会认为应用程序无响应,弹出ANR对话框,用户可以选择等待或强制关闭应用程序。

38、OOM指的是“Out Of Memory”,即内存不足。在Android开发中,由于移动设备内存资源有限,当应用程序申请内存超过设备可用内存时,系统就会抛出OOM异常。

39、Context是一个表示应用程序环境信息的对象,提供了访问应用程序资源和服务的接口。Context可以获取应用程序的资源,如字符串、颜色、布局等,还可以启动Activity、启动服务、发送广播、获取系统服务等。

40、Application是一个表示应用程序的基本信息和全局状态的对象,是整个应用程序的入口点。Application在应用程序启动时创建,负责初始化应用程序的全局状态,如创建数据库、初始化网络连接等。Application对象是单例模式,可以在整个应用程序中共享。