(三十一)其他优化面试问题

一、Android不用静态变量存储数据

1.静态变量等数据由于进程已经被杀死而被初始化。

2.使用其他数据传输方式:文件/SharedPreferences/ContentProvider...

二、有关SharedPreferences的安全问题

1.不能跨进程同步。

2.存储SharedPreferences的文件过大问题。

三、内存对象的序列化

序列化:将对象的状态信息转换为可以存储或传输的形式的过程。

1.Serializeble接口 :Java自带的序列化方式,在序列化的时候会产生大量的临时变量,从而频繁地引起垃圾回收。容易造成UI卡顿、内存抖动、OOM等。

2.Percelable接口 :Android自带的序列化方式,在使用内存的时候,Percelable比Serializeble性能更好,缺点是不能把在磁盘上存储的数据用Percelable来序列化。

四、避免在UI线程中做繁重的操作

在UI线程中做耗时操作会造成UI的卡顿。可用Handler、HandlerThread等方式进行耗时操作。

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

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,915评论 25 709
  • 从三月份找实习到现在,面了一些公司,挂了不少,但最终还是拿到小米、百度、阿里、京东、新浪、CVTE、乐视家的研发岗...
    时芥蓝阅读 42,386评论 11 349
  • (一)Android面试题(一)Activity、Intent Android四大组件分别是哪些?各自有什么作用和...
    Itachi001阅读 4,494评论 4 95
  • iOS面试小贴士 ———————————————回答好下面的足够了------------------------...
    不言不爱阅读 2,023评论 0 7
  • 农历七月十一,阴转多云 从梦中惊醒,被绑架,呼救老公,可是过来救我的是我的弟弟和他的同学。对老公有点失望,就像本来...
    玲萍阅读 138评论 0 0