Android面试题录

2017-03-03  本文已影响25人  GoodmanLi

记录android面试中碰到的问题。

1.activity的启动模式和应用场景

2.android 加载图片内存是怎么计算的。

占用的内存=(图片长度 )x(图片宽度)x(单位像素占用的字节数)(图片长度和宽度都是像素为单位)

创建一个BitMap时,其单位像素占用的字节数由其参数BitmapFactory.Options的inPreferredConfig变量决定。
inPreferredConfig为Bitmap.Config类型,Bitmap.Config类是个枚举类型,它可以为以下值:

另外,android在加载图片到内存中时,还会根据手机的dpi来对图片进行缩放。如果图片放在drawable文件夹里面,就以160dpi为基准,1dp=1px加载到内存中。如果手机dpi为320,图片就会进行缩放,此时1dp = 2px。也就是像素宽度和长度放大到原来的两倍。对应的内存占用也会增大许多。

3.android项目分包

讲这个的比较少。多数是解决65k问题的分包方案。
合理地分包,可以使整个项目模块化,减少包与包之间的依赖,让整个项目的框架更加清晰,更利于后续功能的拓展。
先按模块分包,再按功能分包。

4.怎么加速启动Activity。

对http协议的理解

java并发i++的线程安全问题

i++实际执行过程有三步。

int i = 1;
int temp = i+1;
i = temp;

单线程倒没什么,多线程的话,切线程处于不同的CPU中,每个线程都拥有自己的
高速缓存,这样可能会出现缓存不一致的问题,比如内存中的i = 0,然后在两个线程中都执行
i = i + 1;分别在两个线程中执行,最后的结果可能是1,而不是2。

上一篇下一篇

猜你喜欢

热点阅读