7-10日Android试题整理

1.当Activity被销毁时,如何保存它原来的状态

  • 实现Activity的onSaveInstanceState()方法
  • 实现Activity的onSaveInstance()方法
  • 实现Activity的onInstanceSate()方法
  • 实现Activity的onSaveSate()方法

解析:
当你的程序中某一个Activity A在运行时,主动或被动地运行另一个新的Activity B,这个时候A会执行onSaveInstanceSate()。B完成后又会来找A,这个时候有两种情况,
一是:A被回收
二是:A没有被回收
被回收的A就要重新调用onCreate()方法,不同于直接启动的是这会OnCreate()里是带上了参数saveInstanceSate;而没有被回收的就直接执行onResume(),跳过onCreate()了。


2.对一些资源以及状态的操作保存,最好是保存在生命周期的哪个函数中进行?

  • onPause()
  • onbCreate()
  • onResume()
  • onStart()

解析:
onCreate():表示Activity正在被创建,在这里可以做一些初始化的工作
onRestart():表示Activity正在重新启动,当当前Activity从不可见重新变成可见状态
onStart():表示Activity正在被启动,已经可见,但不在前台,无法交互
onResume():表示Activity已经可见,并且出现在前台可以交互
onPause():表示Activity正在停止,在这里可以做一些存储数据,停止动画等工作,但不能太耗时,因为必须onPause执行完成后新的Activity才能Resume
onStop():表示Activity即将停止,可以进行一些稍微轻量级的回收工作,不能太耗时。
onDestory():表示Activity即将被销毁,可以进行一些回收工作和最终的资源释放。

内存严重不足时,onStop()不会被执行,但是OnPause()是保证执行的


3.下面哪种进程最重要,最后被销毁?

  • 服务进程
  • 后台进程
  • 前台进程
  • 可见进程

解析:
重要性依次是:前台进程,可见进程,服务进程,后台进程,空进程。
前台进程是Android系统中最重要的进程,是与用户正在交互的进程
可见进程是指部分程序界面能够被用户看见,却不在前台与用户交互


4.下面是属于GLSurFaceView特性的是?

  • 管理一个surface,这个surface就是一个特殊的内存,能直接排版到Android的视图view上
  • 管理一个EGL display,它能让openGL把内容渲染到上述的surface上
  • 让渲染器在独立的线程里运作,和UI线程分离
  • 可以直接从内存或者DMA等硬件接口取得图像数据

解析:
一个GLSurface类,具有以下特点。

  1. 管理一个平面,这个平面是一个特殊的内存块,它可以和Android视图系统混合
  2. 管理一个EGL显示,它能够让OpenGL渲染到一个平面
  3. 接收一个用户提供的实际显示的Renderer对象
  4. 使用一个专用线程去渲染从而和UI线程解耦
  5. 支持on-demand和连续的渲染
  6. 可选的包追踪/或者错误检查这个渲染器的OPENGL调用

猜你喜欢

转载自blog.csdn.net/adonis044/article/details/80980966
今日推荐