面试记录2

作者: shone | 来源:发表于2016-04-28 17:02 被阅读174次

1、activity怎么与service通信?

首先注意Service有两种类型:

本地服务(Local Service):用于应用程序内部;

远程服务(Remote Service):用于android系统内部的应用程序之间;

对于本地服务:

[1]、Activity调用bindService (Intent service, ServiceConnection conn, int flags)方法,得到Service对象的一个引用,这样Activity可以直接调用到Service中的方法,如果要主动通知Activity,我们可以利用回调方法。

[2]、Service向Activity发送消息,可以使用广播,当然Activity要注册相应的接收器。比如Service要向多个Activity发送同样的消息的话,用这种方法就更好。

对于跨进程的服务,通信想到的当然是AIDL。如果是共享数据,还可以用到ContentProvider。


2、介绍锁机制,什么情况下用到锁?

锁分为对象锁和类锁;

1. 类锁:在代码中的方法上加了static和synchronized的锁,或者synchronized(xxx.class)的代码段;如public  static  synchronized  void  increament() ;

2.对象锁:在代码中的方法上加了synchronized的锁,或者synchronized(this)的代码段;

public  synchronized  void  synOnMethod() { ;}

public   void  synInMethod() {

        synchronized(this) {

           ......

        }

}

3.私有锁:在类内部声明一个私有属性如private Object lock,在需要加锁的代码段synchronized( lock)。

重点唠叨:

Java 中每一个对象都有一个锁,当线程访问synchronized 的方法和代码块【对象锁】的时候,会获得这个锁,也可以理解为为这个对象加锁,这个锁在同一时间有且只能被一个线程访问。如果一个线程访问对象锁的时候,锁正在被其他线程访问,那么这个线程就需要等待占用锁的那个线程释放对象锁,陷入阻塞状态。当执行完synchronized方法或者代码块的时候,线程就会释放对象锁。

当线程通过 synchronized 方法或者代码块获得对象锁后,其他线程无法访问对象的任何synchronized方法或者代码块,但是可以访问非synchronized方法或者代码块

如果对静态方法添加synchronized 或者对静态变量的修改添加synchronized 块,那么这个时候获得的是类对象的锁。(class对象)

当线程休眠的时候,是不会释放对象锁。

可以把对象锁理解为资源,线程使用完这个资源后,会释放这个资源,以便其他线程来使用。


3、ContentProvider使用?

4、如何适配UI?

720*1280 , 1920*1080准备2套资源图片,灵活布局+自适应密度单位dp\sp

5、tcp与udp的区别?什么是粘包?如何避免?

游戏服务器:到底使用UDP还是TCP - 文章 - 伯乐在线

相关文章

  • 面试记录2

    1、activity怎么与service通信? 首先注意Service有两种类型: 本地服务(Local Serv...

  • NLP 面试题(一)和答案,附有参考URL

    面试题目的标题: 【NLP/AI算法面试必备-2】NLP/AI面试全记录(持续更新) 链接:https://zhu...

  • 2019.12.13郑博文老师工作安排

    1.boss跟智联招聘5hrs 2.面试并记录2hr 3.邀约并记录安排第二天面试1hr 共计:8h

  • 面试失败经历记录2

    面试地点:苏州工业园区 第三场 某支付安全公司 失败原因:薪资 主要面试Elasticsearch,问了如何做集群...

  • 腾讯社招iOS面试记录

    腾讯社招iOS面试记录 腾讯社招iOS面试记录

  • 面试助手(企业端)操作手册

    1.创建面试记录 进入面试助手首页后,在底部点击“创建面试”,创建一个新的面试记录 进入“创建视频面试”页面完善候...

  • 2019-04-07

    1、3月份的考勤总结情况汇总,工资计算确认,工资发放 2、记录课时,记账 3、协助面试3人,学习面试经验。 4、其...

  • 面试问题记录 2

    1 ARC与MRC的内存管理 以及是如何实现的 ? 答:MRC 和 ARC 都是编译器特性,(Objective-...

  • 面试题总结记录(2)

    1.什么是盒子模型? 在网页中,一个元素占有空间的大小由几个部分构成,其中包括元素的内容(content),元素的...

  • 2020-09-16

    2020年iOS面试 记录一下自己遇到的面试题 百度: 1.atomic是不是线程安全的?怎么保证线程安全? 2....

网友评论

    本文标题:面试记录2

    本文链接:https://www.haomeiwen.com/subject/rdjhrttx.html