Android 面试题(不定时更新)

如果有错误或者不对的,希望大佬指出

科大讯飞的面试

是如何解决图片带来的OOM?

1.确定图片大小,可以先加载缩略图;
2.压缩图片质量;
3.根据控件实际大小加载对应大小的图片;
4.然后就是缓存,内存缓存,磁盘缓存,Lru缓存。

如何知道一张图片所占的内存?

1.分辨率 * 像素点; (width * height *像素点)

如果多线程中引用单例模式,会引发什么后果?如何解决?

后果(有大佬有好的文章,评论区贴一下):可能会出现多个单例(讲一下单例的3个模式(懒汉,饿汉,内部类)),讲一下3种模式的区别;
解决:加锁,引申到多线程的锁机制。

在子线程中new Handler 会怎么样?

很可能会延伸到Handler的源码,首先在子线程new Handler需要进行 Looper.loop 和Looper.prepare,使Handler进行工作,这个子线程会被handler一直持有,不会结束。大家可以写个例子

new Thread({
Looper.prepare()
     new Handler(){
       void hanlderMessage(){
        }
    }
handler.sendMessage()
Looper.loop()
//这句是不会执行的结果就是这样的,大家可以测试一下 需要调用handler.quitSalf()才会执行
Log.i(TAG,"log....") 
}).start()

安卓6.0的权限适配,8.0的权限适配?

6.0以后是运行时权限适配,8.0的权限分组

dp和px的关系?

等待有心人贴文章

屏幕分辨率的适配?

等待有心人贴文章

Service有几种启动方式?他们的生命周期又如何?

  1. start 和binder,2种方式
  2. start启动的生命周期不依赖某个组件,binder需要的生命周期依赖与一个组件
  3. 假设在A界面使用binder启动service,此时如果A界面退出,service会销毁
  4. 同样情况,A界面启动binder方式启动service,在B界面也用binder启动同一个service,这时service的生命周期不会重新执行.B界面销毁,serivce不会被销毁.A界面销毁,service会被销毁
  5. 可以得出,binder启动的service,是1个servive持有多个组件,等到持有的组件全部被销毁,service就会被销毁

android5.0 之后隐式启动Service会造成什么后果?如何解决?

有过多线程的编程经验吗?(线程池之类的)

说说Java中的设计原则?

String 类型能不能继承?

说说图片框架的缓存原理?

百度面试(无人驾驶事业部)

说说JVM虚拟机?

JAVA 类的加载机制?

ArrayList 的底层源码?

LinkedList 的底层源码?

Java 内存?

对比ArrayList 和LinkedList 的优缺点?

有没有看过一些框架的源码?(解析源码)

MVP 和MVC的不同?(解析架构)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 7.1 压缩图片 一、基础知识 1、图片的格式 jpg:最常见的图片格式。色彩还原度比较好,可以支持适当压缩后保持...
    AndroidMaster阅读 2,585评论 0 13
  • 1. Bitmap 在Android开发中,通过Bitmap对象可以很方便的对图片进行操作,但是bitmap特别耗...
    瑟闻风倾阅读 628评论 0 0
  • 1、Activity生命周期? onCreate() -> onStart() -> onResume() -> ...
    王培921223阅读 2,409评论 0 11
  • “之前在学校里看到你的时候,就有一种很熟悉的感觉,不自觉开始关注你,后来在你家的时候发现你抽屉里的全家福。照片里的...
    耳君意如阅读 231评论 0 2
  • 凌晨十二点,酒吧门口停了两台豪车,韩经理亲自迎接,将他们八个人带进二楼的豪华包厢。 韩经理找到正在打扫包厢的慕珂:...
    8c5a99d9a9c8阅读 180评论 0 0