美文网首页
一些题目——2017年3月25日

一些题目——2017年3月25日

作者: 胡丽亚与石乐志 | 来源:发表于2017-03-26 10:50 被阅读0次

    1.Android虚拟机是在哪一层?

    是在Android运行库层

    2.两个堆栈共享一个向量空间的优点:

    节省地址空间,减小上溢发生的概率

    3.安卓中,由Handler引发的内存泄漏的解决方法:

    主要是因为Handler属于TLS(Thread Local Storage)变量,生命周期和Activity是不一致的,Handler引用Activity会存在内存泄露。

    解决方法:

    ~ 使用显形的引用,1.静态内部类。 2. 外部类

    ~ 使用弱引用 2. WeakReference

    4.进程的标志

    PCB是进程存在的唯一标志。进程控制块(Process Control B1ock,简称PCB)是用来记录进程状态及其他相关信息的数据结构,PCB是进程存在的唯一标志,PCB存在则进程存在。系统创建进程时会产生一个PCB,撤销进程时,PCB也自动消失。

    5.linux中查看内存使用状态的命令(请务必自己试一下)

    ~ cat /proc/meminfo

    查看RAM使用情况最简单的方法是通过/proc/meminfo。这个动态更新的虚拟文件实际上是许多其他内存相关工具(如:free / ps / top)等的组合显示。/proc/meminfo列出了所有你想了解的内存的使用情况。

    ~ atop

    atop命令是一个终端环境的监控命令。它显示的是各种系统资源(CPU, memory, network, I/O, kernel)的综合,并且在高负载的情况下进行了彩色标注。

    ~ free

    free命令是一个快速查看内存使用情况的方法,它是对 /proc/meminfo 收集到的信息的一个概述。

    ~ htop

    htop命令显示了每个进程的内存实时使用率。它提供了所有进程的常驻内存大小、程序总内存大小、共享库大小等的报告。列表可以水平及垂直滚动。

    ~ ps

    ps命令可以实时的显示各个进程的内存使用情况。Reported memory usage information includes %MEM (percent of physical memory used), VSZ (total amount of virtual memory used), and RSS (total amount of physical memory used)。你可以使用 “–sort”选项对进程进行排序,例如按RSS进行排序:  $ ps aux --sort -rss

    ~ smem

    smem命令允许你统计基于/proc信息的不同进程和用户的内存使用情况。内存使用情况的分析可以导出图表(如条形图和饼图)。

    实例:$ sudo smem --pie name -c "pss"

    6.编程题:

    ~ 数组长度为n,目的是去除多余的元素,但是要保留最后出现的元素。 //反着遍历数组就行了

    ~ 现在有2个cpu能共同工作,一共有m项任务,求能完成的最小时间

    ~ 有6个任务,n个工程师(1<n<6),已知每个工程师能做的任务,求方案数

    输入:

    6

    012345

    012345

    012345

    012345

    012345

    输出: 720

    7.问答题:Android中Activity组件的功能以及防护其安全的方法

    引用此博客 引用此博客

    四大组件指的是应用组件:Activity、Service、BroadcastReceiver、ContentProvider;

    在应用中一个Activity可以用来表示一个界面, 中文意思也可以理解为“活动” ,即一个活动开始,代表Activity组件启动;活动结束,代表一个Activity的生命周期结束。

    在android中,Activity的生命周期统一交给系统管理;

    1、Activity的状态:

    ~ Resumed:Activity对象出于运行状态。一个新Activity 启动入栈后,它在屏幕最前端,处于栈的最顶端,此时它处于可见并可以与用户交互的激活状态。

    ~ Paused:另一个Activity位于前端,但是本Activity还可见。

    Paused状态常用于:当Activity被另一个透明或者Dialog样式的Activity覆盖时的状态。此时它依然与窗口管理器保持连接,系统继续维护其内部状态,所以它仍然可见,但它已经失去了焦点故不可与用户交互。注:一个Activity出于paused状态时,系统并不会释放资源。释放资源你的操作要靠开发者来完成。

    ~ Stopped:另一个Activity位于前端,完全遮挡本Activity。

    ~ killed:Activity被系统杀死回收或者没有被启动时。

    相关文章

      网友评论

          本文标题:一些题目——2017年3月25日

          本文链接:https://www.haomeiwen.com/subject/exahottx.html