• android 面试题


    一,什么是OOM

    (1)先从定义开始:
    Android(Java)中常见的容易引起内存泄漏的不良代码
    Android主要应用在嵌入式设备当中,而嵌入式设备由于一些众所周知的条件限制,通常都不会有很高的配置,特别是内存是比较有限的。如果我们编写的代码当中有太多的对内存使用不当的地方,难免会使得我们的设备运行缓慢,甚至是死机。为了能够使得Android应用程序安全且快速的运行,Android 的每个应用程序都会使用一个专有的Dalvik虚拟机实例来运行,它是由Zygote服务进程孵化出来的,也就是说每个应用程序都是在属于自己的进程中运行的。一方面,如果程序在运行过程中出现了内存泄漏的问题,仅仅会使得自己的进程被kill掉,而不会影响其他进程(如果是system_process 等系统进程出问题的话,则会引起系统重启)。另一方面Android为不同类型的进程分配了不同的内存使用上限,如果应用进程使用的内存超过了这个上限, 则会被系统视为内存泄漏,从而被kill掉。
    (2)结论是内存不够用就叫oom.
         Android设备内存一般比较小,容易引起oom.
         Android每个应用程序在专有的Dalvik虚拟机实例中运行,Android分配固定内存。超出分配的内存,引起oom,系统KILL掉,程序结束。
         Android系统进程OOM,机器重启。

    3.Fragment与Activity的生命周期中最大的不同就是存储到后退栈中的过程

  • 相关阅读:
    渗透资源大全
    Brute Force(暴力(破解))
    关于Burp Suite不能抓包的解决方法
    新手指南:DVWA-1.9全级别教程之SQL Injection
    mysql里面如何用sql语句让字符串转换为数字
    手把手教你如何搭建自己的渗透测试环境
    php错误提示
    vmware虚拟机三种网络模式详解
    Vmware虚拟机下三种网络模式配置
    cmd开启3389
  • 原文地址:https://www.cnblogs.com/luquanmingren/p/4932292.html
Copyright © 2020-2023  润新知