Android面试题汇总(初级)

1.跨进程通信的几种方式

  • Intent,比如拨打电话
  • ContentProvider数据库存储数据
  • Broadcast广播通信
  • AIDL通信,通过接口共享数据

跨进程通信的具体方法

2.wait和 sleep 的区别

  • wait是Object的方法,wait是对象锁,锁定方法不让继续执行,当执行notify方法后就会继续执行,
  • sleep是Thread的方法,sleep 是使线程睡眠,让出cpu,结束后自动继续执行

.wait和 sleep 的区别具体使用

3.String,StringBuffer,StringBuilder的区别

  • String不可改变对象,一旦创建就不能修改
  • String str=“aaa”;
    str=“bbb”;
  • 以上代码虽然改变了str,但是执行过程是回收str,把值赋给一个新的str
  • StringBuffer创建之后,可以去修改
  • StringBuilder也可修改,执行效率高于StringBuffer,不安全
  • 当字符赋值少使用String
  • 字符赋值频繁使用StringBuilder
  • 当多个线程同步操作数据,使用StringBuffer

4.View和SurfaceView的区别

View基于主线程刷新UI,SurfaceView子线程又可以刷新UI

5.View的绘制原理

  • View为所有图形控件的基类,View的绘制由3个函数完成
  • measure,计算视图的大小
  • layout,提供视图要显示的位置
  • draw,绘制

View的绘制原理+demo的具体使用

6.简述JNI

是java和c语言之间的桥梁,由于java是一种半解释语言,可以被反编译出来,一种重要涉及安全的代码就使用了C编程,再者很多底层功能调用C语言都实现了Java没必要重复造轮子,所以定义了JNI接口的实现

7.简述TCP,UDP,Socket

  • TCP是经过3次握手,4次挥手完成一串数据的传送
  • UDP是无连接的,知道IP地址和端口号,向其发送数据即可,不管数据是否发送成功
  • Socket是一种不同计算机,实时连接,比如说传送文件,即时通讯

8.音视频相关类

总体来说,分为几个类

  • 视频录制方面,Camear摄像头录制视频类,MediaProjection屏幕录制视频类
  • 编码方面,MediaCodec,MediaRecorder
  • 预览方面,SurfaceView,GLSurfaceView,TextureView,VideoView

9.进程和线程的区别

概念:进程包括多个线程,一个程序一个进程,多线程的优点可以提高执行效率,提高资源利用率
创建:Thread类和Runnable接口,
常用方法有:

  • start()用于启动线程
  • run()调用线程对象中的run方法
  • join()合并插队到当前线程
  • sellp()睡眠释放cpu资源
  • setPriority()设置线程优先级

10.内存泄露如何查看和解决

  • 1
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值