美文网首页
安卓面试题(百度 static,启动模式,内部静态类)(四)

安卓面试题(百度 static,启动模式,内部静态类)(四)

作者: 仕明同学 | 来源:发表于2020-04-02 14:58 被阅读0次

多线程中访问static的方法和不加static的 方法的区别

.synchronized与static synchronized 的区别
synchronized是对类的当前实例(当前对象)进行加锁,防止其他线程同时访问该类的该实例的所有synchronized块,注意这里是“类的当前实例”, 类的两个不同实例就没有这种约束了。

那么static synchronized恰好就是要控制类的所有实例的并发访问,static synchronized是限制多线程中该类的所有实例同时访问jvm中该类所对应的代码块。

okhttp的原理

OkHttp是一个精巧的网络请求库,有如下特性:

1)支持http2,对一台机器的所有请求共享同一个socket

2)内置连接池,支持连接复用,减少延迟

3)支持透明的gzip压缩响应体

4)通过缓存避免重复的请求

5)请求失败时自动重试主机的其他ip,自动重定向

6)好用的API
网络框架的搭建

image.png

加载一张肯定会导致oom的图片如何处理

hashmap的源码 如何解决hash冲突

LRUCache的底层源码

onnewIntent 的方法执行时机

image.png

launchMode为singleTask的时候,通过Intent启到一个Activity,如果系统已经存在一个实例,系统就会将请求发送到这个实例上,但这个时候,系统就不会再调用通常情况下我们处理请求数据的onCreate方法,而是调用onNewIntent方法,

  1. Standard 标准模式
    说明: Android创建Activity时的默认模式,假设没有为Activity设置启动模式的话,默觉得标准模式。每次启动一个Activity都会又一次创建一个新的实例入栈,无论这个实例是否存在。

SingleTop 栈顶复用模式
说明:分两种处理情况:须要创建的Activity已经处于栈顶时,此时会直接复用栈顶的Activity。不会再创建新的Activity;若须要创建的Activity不处于栈顶,此时会又一次创建一个新的Activity入栈,同Standard模式一样。

  1. SingleTask 栈内复用模式
    说明:若须要创建的Activity已经处于栈中时,此时不会创建新的Activity,而是将存在栈中的Activity上面的其他Activity所有销毁,使它成为栈顶。
  2. SingleInstance 单实例模式
    说明: SingleInstance比較特殊,是全局单例模式,是一种加强的SingleTask模式。它除了具有它所有特性外,还加强了一点:具有此模式的Activity仅仅能单独位于一个任务栈中。

这个经常使用于系统中的应用,比如Launch、锁屏键的应用等等,整个系统中仅仅有一个!所以在我们的应用中一般不会用到。了解就可以。

retrofit的源码

image.png

activity的四中启动的模式 区别

常见的内存泄漏 如何去解决

内部静态类的作用

1.如果内部类不会引用到外部类东西的话,强烈建议使用静态内部类,因为这样更节省资源,减少内部类其中的一个指向外部类的引用。

2.这个静态内部类,不需要在外部引用,只为当前类提供服务。 封装的完整性。

3.还有静态内部类只能访问外部类的静态属性和方法,而且静态内部类还可以有静态数据,静态方法或者又一个静态内部类,这些是非静态内部类所没有的。

binder通信

相关文章

  • 安卓面试题(百度 static,启动模式,内部静态类)(四)

    多线程中访问static的方法和不加static的 方法的区别 .synchronized与static sync...

  • Java中final与static的用法

    一.static static即表示“静态”,可用来修饰变量,方法,内部类以及代码块。 1. static类 静态...

  • Java-嵌套类

    嵌套类分为两类:静态和非静态。被声明static的嵌套类称为静态嵌套类。非静态嵌套类称为内部类。内部类有两种特殊的...

  • java静态类

    java静态类只能是内部静态类,如果外部类被声明为static,将导致编译不通过。 静态内部类只能访问静态成员和静...

  • JAVA 面试,你常常忘记它们

    静态类和静态方法 如果一个类要被声明为static的,只有一种情况,就是静态内部类。静态内部类实际上与普通类(即类...

  • 安卓设计模式-简单工厂模式

    安卓设计模式-简单工厂模式 是什么 简单工厂模式又称为静态方法模式(因为工厂类中定义了一个静态方法),简单工厂模式...

  • 内部类和静态嵌套类

    内部类(Inner Class)和静态内部类(Static Nested Class)的区别:定义在一个类内部的类...

  • 理解java中的static关键字

    static,“静态的”的意思,用于表示修饰的字段、方法、类(内部类)属于类,而不是类的实例。 static修饰的...

  • java 静态内部类的分析

    introduceJava中的嵌套类(Nested Class)分为两种:静态内部类(也叫静态嵌套类,Static...

  • 说说 Java 的静态内部类

    Java 的静态内部类就是定义在一个类的内部,并且标注为 static 的类。由于类是静态的,所以不需要通过外围类...

网友评论

      本文标题:安卓面试题(百度 static,启动模式,内部静态类)(四)

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