内存问题:
1.所有的异常都能够被捕捉么?
能,都能够通过try{}catch(){}语句块捕捉。
2.空指针异常能捕捉么?
能,只要在提示的代码行中加入捕捉语句块,就可以。
3.内存溢出是错误还是异常?
是错误,OutOfMemoryError
4.内存溢出和内存泄漏的区别?
当应用程序无法持有某部分内存的引用时,就会出现内存泄漏的问题,当内存泄漏过多时,就会出现内存
溢出问题,
当应用程序中使用的内存过多时,虽然没造成内存泄漏,但是也会溢出。
5.如何去避免内存溢出?
(1).能用局部变量的不要用全局变量。
(2).尽可能不要使用静态变量。
(3).少创建匿名对象,对于特殊情况,可以使用单例模式,降低内存消耗。
(4).和服务器协商,减少一个界面获取数据的接口。少开线程。
6.内存溢出的分类:
1.同时开了过多的线程。
2.heap
3.stack
7.java当中内存区分的分类:
堆内存 :存放对象的。
栈内存 :存放运行的方法,存放局部变量。
方法区 :在类文件加载进入内存后,其方法,父类的方法,静态变量,常量存储的位置
本地方法区:native修饰的方法会进入到本地方法区当中。
寄存器 : 硬件
8.android当中常见的优化
1.内存优化:
栈内存优化: 使用算法,提高方法的效率。
堆内存优化: 少new对象,不使用的对象即使回收。
2.代码优化:
代码封装,工具类,把重复的代码提取出来,然后封装成类,类似的操作可以直接使用,提高可读性。
3.布局优化:
较少布局层数的嵌套,android当中的布局是xml文件,底层使用pull解析的,较少嵌套就是减少了解析的
层数,减少了时间。
1.所有的异常都能够被捕捉么?
能,都能够通过try{}catch(){}语句块捕捉。
2.空指针异常能捕捉么?
能,只要在提示的代码行中加入捕捉语句块,就可以。
3.内存溢出是错误还是异常?
是错误,OutOfMemoryError
4.内存溢出和内存泄漏的区别?
当应用程序无法持有某部分内存的引用时,就会出现内存泄漏的问题,当内存泄漏过多时,就会出现内存
溢出问题,
当应用程序中使用的内存过多时,虽然没造成内存泄漏,但是也会溢出。
5.如何去避免内存溢出?
(1).能用局部变量的不要用全局变量。
(2).尽可能不要使用静态变量。
(3).少创建匿名对象,对于特殊情况,可以使用单例模式,降低内存消耗。
(4).和服务器协商,减少一个界面获取数据的接口。少开线程。
6.内存溢出的分类:
1.同时开了过多的线程。
2.heap
3.stack
7.java当中内存区分的分类:
堆内存 :存放对象的。
栈内存 :存放运行的方法,存放局部变量。
方法区 :在类文件加载进入内存后,其方法,父类的方法,静态变量,常量存储的位置
本地方法区:native修饰的方法会进入到本地方法区当中。
寄存器 : 硬件
8.android当中常见的优化
1.内存优化:
栈内存优化: 使用算法,提高方法的效率。
堆内存优化: 少new对象,不使用的对象即使回收。
2.代码优化:
代码封装,工具类,把重复的代码提取出来,然后封装成类,类似的操作可以直接使用,提高可读性。
3.布局优化:
较少布局层数的嵌套,android当中的布局是xml文件,底层使用pull解析的,较少嵌套就是减少了解析的
层数,减少了时间。