Android FrameWork 面试整合题集,2021年Android技术下半场在哪

本文深入探讨了Android Framework面试中的关键知识点,包括如何捕获未捕获的异常、防止ANR、线程间通信方式、内存管理策略以及Android应用架构。同时,文章还涵盖了Activity、View生成机制、屏幕适配、AIDL使用、Handler机制等核心概念,是准备Android面试的宝贵资料。
摘要由CSDN通过智能技术生成

09-10 10:20:00.477 4153-4153/com.joyfulmath.samples I/System.out: 192

HTC M7实测,192M上限。512M 一般情况下,192M就是上限,但是由于某些特殊情况,android允许使用一个更大的RAM。

如何避免OOM

减少内存对象的占用

I.ArrayMap/SparseArray代替hashmap

II.避免在android里面使用Enum

III.减少bitmap的内存占用

  • inSampleSize:缩放比例,在把图片载入内存之前,我们需要先计算出一个合适的缩放比例,避免不必要的大图载入。

  • decode format:解码格式,选择ARGB_8888/RBG_565/ARGB_4444/ALPHA_8,存在很大差异。

IV.减少资源图片的大小,过大的图片可以考虑分段加载

内存对象的重复利用

大多数对象的复用,都是利用对象池的技术。

I.listview/gridview/recycleview contentview的复用

II.inBitmap 属性对于内存对象的复用ARGB_8888/RBG_565/ARGB_4444/ALPHA_8

这个方法在某些条件下非常有用,比如要加载上千张图片的时候。

III.避免在ondraw方法里面 new对象

IV.StringBuilder 代替+

4.Android 中如何捕获未捕获的异常

UncaughtExceptionHandler

1、自 定 义 一 个 Application , 比 如 叫 MyApplication 继 承 Application 实 现UncaughtExceptionHandler。

2、覆写 UncaughtExceptionHandler 的 onCreate 和 uncaughtException 方法。

@Override

public void onCreate() {

super.onCreate();

Thread.setDefaultUncaughtExceptionHandler(this);

}

@Override

public void uncaughtException(final Thread thread, final Throwable ex) {

new Thread(new Runnable() {

@Override

public void run() {

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值