常见面试题

来源:互联网 发布:seo搜索排名优化怎么 编辑:程序博客网 时间:2024/06/05 19:51
  1. 单线程模型汇中Messgae、Handler、MessageQueu,Lopper之间关系
    a) Looper。Prepare,初始化lopper,放入ThreadLocal中
    b) Looper。Loop不断遍历MessagrQueue
    c) Handler创建依赖Looper,Handler。sendMessage到Queue,looper不断从queue去消息,然后回调handleMessage
  2. 内存溢出和内存泄漏区别,何时产生内存泄漏,内存优化方法
    a) 溢出:不够用,泄漏:没有释放内存
    b) 图片加载:图片压缩 + LruCache
    c) 及时关闭DataBase Con,传感器,Service
  3. AsyncTask使用在那些场景,他的缺陷是?如何让解决
    a) 耗时操作,更新ui
    b) 最大维护128条线程,同时执行5条,+1个缓冲队列,若线程池和缓冲队列满,抛Reject异常
    c) 由一个控制线程判断线程池是否已满
  4. 启动一个App程序,点击图标进入和从一个程序跳转过去的区别
    a) 后者样式可能多一点,本质是相同的
  5. 横竖屏切换ACTIVITY的生命周期
    a) 不设置ACITVITY的ANDROI:CONFIGCHANGES,横屏会重新调用一次,竖屏调用两次
    b) 设置ORIENTATION,横竖屏都调用一次
    c) 设置ORIENTATION| KEYBOARDHIDDEN,不会调用,只执行ONCONFIGCHANGES方法
  6. DVM进程和LINUX进程,应用程序的进程是否是同一个概念
  7. 如何实现消息推送,哪些方式,各自优缺点,最常见的方式
  8. 播放视频有哪些实现方式
    a) 自带播放器,ACTION为ACTIONVIEW,DATA为URI,TYPE为MIME
    b) VIEDIOVIEW + MEDIACONTROLLER
    c) MEDIAPLAYER + SURFACEVIEW
  9. ANDROID客户端如和实现自动登录
    a) 用SHAREPERENCE或数据库上次成功保存的帐号密码
    b) 采用TOKEN或者SESSION标记,第一次登录保存TOKEN,服务器下次会检查这个TOKEN标记
  10. HTTPCLIENT的通信过程
    a) 生成请求对象HTTPGET,HTTPPOST
    b) 生成客户端对象HTTPCLIENT
    c) 执行请求等待响应httpresponce,entity
    d) 得到数据流inputStream
    e) 关闭过期连接
  11. 线程有几种状态?run和strart区别
    a) 新建new线程
    b) 就绪,start等待CPU
    c) 运行,获得CPU
    d) 阻塞,某种原因放弃CPU
    i. 等待阻塞wait
    ii. 同步阻塞,没拿到锁
    iii. 其他阻塞,sleep,join,IO请求
    e) 死亡,退出run
    f) Strart是进入就绪状态,run是进入执行状态
  12. Android 四大组件那些?有什么作用?
    a) Activity,是程序与用户交互的窗口
    b) Service,后台服务于Activity,为接受的Intent提供同步或异步接口
    c) Content Provider,对外提供数据
    d) Broadcast Receiver,接收Intent相关信息,处理后转换成Notifaction
  13. Android常用五种布局
    a) FrameLayout框架布局,可重叠
    b) LinearLayout线性布局,元素一次排列
    c) AbsoluteltLayout绝对布局,XY坐标决定元素,需要计算
    d) RelativeLayout,相对布局
    e) TableLayout,表格布局,TableRow
  14. Android动画有几类?特点和区别
    a) view动画,平移,缩放,旋转,透明度视图组件
    b) Frame动画,类似电影,顺序播放
    c) 属性动画
  15. Android几种解析xml的类,官方推荐?原理和区别?
    a) SAX,节省内存,解析方便
    b) DOM,把整个XML加载到内存,与XPath很好结合,如果数据量不大推荐使用
    c) PULL,用于J2ME对于节点处理很好
  16. 如何将一个Acitvity设置窗口化模式
    a) 自定义style
    b) Manifest修改Activity的theme属性,theme。FloatingActiviity,theme。dialog
  17. Android数据存储方式
    a) SharePreferences,键值存储,只可以存储基本数据类型
    b) SQLite数据库,支持SQL语言
    c) Content Provider,应用程序之间数据共享
    d) 文件存储,FileInputStream
    e) 网络存储
  18. Android NDK理解
    a) NDK是一系列工具集合,允许Android嵌入C或C++,NDK自动将so和java打包成apk
    b) NDK提供一份api,支持libc,libm数学库,libz压缩库,liblog log库
  19. 什么是进程保活?进程怎么死掉?
    a) 进程永远存在内存,例如,广播接受者需要在app退出保持常驻,动态注册
    b) 人为,第三方应用杀死
  20. Android进程优先级
    a) 前台进程,用户当前正在操作的进程
    b) 可见进程,维持前台进程
    c) 服务进程,为维持前台和可见进程,可能被杀死
    d) 后台进程,服务前面3个进程
    e) 空进程,用来做缓存,缩短下次运行组件的时间
  21. 进程保活方案
    a) 提高进程优先级, startForeground(1, new Notification());stopForeground(true);
    b) 设置系统广播监听器,发生事件拉活
    c) Service拉活,重写onStartCommand返回return Service.START_STICKY;
    d) Native守护线程拉活
    e) 账号同步机制拉活
原创粉丝点击