`
lucene3212
  • 浏览: 132579 次
  • 性别: Icon_minigender_2
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论
阅读更多

    <p>?</p>
<p style="padding: 0px; margin: 0px;"><a style="color: #336699; text-decoration: underline; padding: 0px; margin: 0px;" href="http://blog.30c.org/936.html" target="_blank">《枚举Android系统的进程、任务和服务的息》</a>
中,实现了一个简单的监控<span class="wp_keywordlink_affiliate"><a title="查看 Android 的全部文章" href="http://blog.30c.org/tag/android" target="_blank">Android</a>
</span>
平台下的系统进程,任务,服务信息的小工具。在本文中,我将对这个小工具中的系统进程信息部分,进一步的完善。从用户的角度出发,将系统的任务信息Task和服务信息Service全部显示出来的意义不是很大,因此本文将不会对任务和服务两部分内容对任何更新。?<br style="padding: 0px; margin: 0px;"></p>
<p>介绍之前,先给大家看看程序执行后的界面,首先了解大致的功能,然后理解起来,会更加得心应手。?<br style="padding: 0px; margin: 0px;"></p>
<p>1、??获取系统进程列表,并加载进程名、CPU占用情况、内存使用情况</p>
<p style="padding: 0px; margin: 0px;"><img id="aimg_1709" style="padding: 0px; margin: 0px;" title="1.jpg" src="http://apkbus.com/data/attachment/forum/201105/01/090405xxjjeeaq9pna2pwx.jpg" alt="1.jpg" width="331"></p>
<p style="padding: 0px; margin: 0px;">?</p>
<p>?</p>
<p style="padding: 0px; margin: 0px;"><br style="padding: 0px; margin: 0px;"></p>
<p>2、??点击某一个进程之后,让用户选择操作:“查看详情”和“结束进程”</p>
<p>?</p>
<p style="padding: 0px; margin: 0px;"><img id="aimg_1710" style="padding: 0px; margin: 0px;" title="2.jpg" src="http://apkbus.com/data/attachment/forum/201105/01/090406espiill9seiseo5w.jpg" alt="2.jpg" width="331"></p>
<p style="padding: 0px; margin: 0px;">?</p>
<p style="padding: 0px; margin: 0px;"><br style="padding: 0px; margin: 0px;"></p>
<p>3、??显示进程的详细信息:包括了进程的安装包路径、版权信息、用户权限、拥有的服务、和拥有的活动,等</p>
<p style="padding: 0px; margin: 0px;"><img id="aimg_1711" style="padding: 0px; margin: 0px;" title="3.jpg" src="http://apkbus.com/data/attachment/forum/201105/01/090409x656kzgz98e5ug89.jpg" alt="3.jpg" width="329"></p>
<p>?</p>
<p style="padding: 0px; margin: 0px;">?</p>
<p style="padding: 0px; margin: 0px;"><img id="aimg_1712" style="padding: 0px; margin: 0px;" title="4.jpg" src="http://apkbus.com/data/attachment/forum/201105/01/090411e2rvprvpvvbk22vp.jpg" alt="4.jpg" width="332"></p>
<p style="padding: 0px; margin: 0px;">?</p>
<p>?</p>
<p style="padding: 0px; margin: 0px;"><br style="padding: 0px; margin: 0px;"></p>
<p>4、??程序退出的方式</p>
<p>?</p>
<p style="padding: 0px; margin: 0px;"><img id="aimg_1713" style="padding: 0px; margin: 0px;" title="5.jpg" src="http://apkbus.com/data/attachment/forum/201105/01/09041394zdl18u15gfr5rb.jpg" alt="5.jpg" width="333"></p>
<p style="padding: 0px; margin: 0px;">?</p>
<p>?</p>
<p style="padding: 0px; margin: 0px;"><br style="padding: 0px; margin: 0px;"></p>
<p>5、??任务列表 和 服务列表</p>
<p style="padding: 0px; margin: 0px;"><br style="padding: 0px; margin: 0px;"></p>
<p><img id="aimg_1714" style="padding: 0px; margin: 0px;" title="6.jpg" src="http://apkbus.com/data/attachment/forum/201105/01/090414k4wq0jp9kwvyh1z9.jpg" alt="6.jpg" width="329"></p>
<p>?</p>
<p style="padding: 0px; margin: 0px;">?</p>
<p style="padding: 0px; margin: 0px;"><img id="aimg_1715" style="padding: 0px; margin: 0px;" title="7.jpg" src="http://apkbus.com/data/attachment/forum/201105/01/090416vsaru1s1e1m1o2p4.jpg" alt="7.jpg" width="332"></p>
<p style="padding: 0px; margin: 0px;">?</p>
<p style="padding: 0px; margin: 0px;"><img id="aimg_1716" style="padding: 0px; margin: 0px;" title="8.jpg" src="http://apkbus.com/data/attachment/forum/201105/01/090418dpvqv32qqpz3eieq.jpg" alt="8.jpg" width="331"></p>
<p>?</p>
<p style="padding: 0px; margin: 0px;">?</p>
<p style="padding: 0px; margin: 0px;"><img id="aimg_1717" style="padding: 0px; margin: 0px;" title="9.jpg" src="http://apkbus.com/data/attachment/forum/201105/01/0904196u1xn4qwp3b1n4nh.jpg" alt="9.jpg" width="331"></p>
<p style="padding: 0px; margin: 0px;">?</p>
<p>?</p>
<p style="padding: 0px; margin: 0px;">在对界面和主要功能有一个大致了解之后,我们就开始编写我们的代码了。?<br style="padding: 0px; margin: 0px;"></p>
<p>一、界面布局?<br style="padding: 0px; margin: 0px;"></p>
<p>本文对整个功能界面采用了选项卡式的布局,布局文件如下:</p>
<p style="padding: 0px; margin: 0px;">main.xml</p>
<p>?</p>
<div class="blockcode" style="margin: 10px 0px; padding: 10px 0px 5px 10px; overflow: hidden; background-color: #f7f7f7; color: #666666; background-position: 0px 0px; border: 1px solid #cccccc;">
<div id="code0" style="padding: 0px; margin: 0px;">
<ol style="">
<li style=""> &lt;?xml version=”1.0″ encoding=”utf-8″?&gt;</li>
<li style=""> &lt;TabHost xmlns:android=”http://schemas.android.com/apk/res/android”</li>
<li style=""> android:id=”@android:id/tabhost”</li>
<li style=""> android:layout_width=”fill_parent”</li>
<li style=""> android:layout_height=”fill_parent”&gt;</li>
<li style=""> &lt;LinearLayout android:orientation=”vertical”</li>
<li style=""> android:layout_width=”fill_parent”</li>
<li style=""> android:layout_height=”fill_parent”</li>
<li style=""> android:padding=”2dp”&gt;</li>
<li style=""> &lt;TabWidget android:id=”@android:id/tabs”</li>
<li style=""> android:layout_width=”fill_parent”</li>
<li style=""> android:layout_height=”wrap_content” /&gt;</li>
<li style=""> &lt;FrameLayout android:id=”@android:id/tabcontent”</li>
<li style=""> android:layout_width=”fill_parent”</li>
<li style=""> android:layout_height=”fill_parent”</li>
<li style=""> android:padding=”5dp” /&gt;</li>
<li style=""> &lt;/LinearLayout&gt;</li>
<li style="">
</li><li style=""> &lt;/TabHost&gt;</li>
</ol>

<p>?</p>
<p>?</p>

<p>每一个选项卡的内容都是一个列表ListView,分别用于显示系统的进程、任务和服务列表,布局文件我们就此略过了。  在进程的详情中,我们使
用不同背景色的TextView作为一个数据部分的标题,这样给人视觉上一个比较清晰的层次感,代码如下:整个详情信息是一个ScrollView,在第
一行中嵌入了一个Button,其他行的数据显示都比较简单,大家看看我的控件ID就差不多知道这个控件的意思了。proc_detail.xml</p>
<div class="blockcode" style="margin: 10px 0px; padding: 10px 0px 5px 10px; overflow: hidden; background-color: #f7f7f7; color: #666666; background-position: 0px 0px; border: 1px solid #cccccc;">
<div id="code1" style="padding: 0px; margin: 0px;">
<ol style="">
<li style=""> &lt;?xml version=”1.0″ encoding=”utf-8″?&gt;</li>
<li style=""> &lt;ScrollView</li>
<li style=""> xmlns:android=”http://schemas.android.com/apk/res/android”</li>
<li style=""> android:layout_height=”wrap_content”</li>
<li style=""> android:layout_width=”match_parent”</li>
<li style=""> android:scrollbars=”none”&gt;</li>
<li style=""> &lt;LinearLayout</li>
<li style=""> android:id=”@+id/linearlayout1″</li>
<li style=""> android:layout_width=”fill_parent”</li>
<li style=""> android:layout_height=”fill_parent”</li>
<li style=""> android:orientation=”vertical”</li>
<li style=""> android:paddingLeft=”3dip”</li>
<li style=""> android:paddingRight=”3dip”</li>
<li style=""> android:paddingTop=”1dip”</li>
<li style=""> android:paddingBottom=”1dip”&gt;</li>
<li style=""> &lt;RelativeLayout android:layout_width=”match_parent”</li>
<li style=""> android:layout_height=”27dip”</li>
<li style=""> android:background=”#555555″</li>
<li style=""> android:id=”@+id/relativeLayout1″&gt;</li>
<li style=""> &lt;TextView android:textSize=”7pt”</li>
<li style=""> android:layout_alignParentLeft=”true”</li>
<li style=""> android:id=”@+id/textView1″</li>
<li style=""> android:layout_width=”wrap_content”</li>
<li style=""> android:layout_height=”fill_parent”</li>
<li style=""> android:gravity=”center_vertical”</li>
<li style=""> android:text=”@string/detail_process_name”&gt;&lt;/TextView&gt;</li>
<li style=""> &lt;Button android:id=”@+id/btn_kill_process”</li>
<li style=""> android:textSize=”6pt”</li>
<li style=""> android:layout_alignParentRight=”true”</li>
<li style=""> android:layout_width=”wrap_content”</li>
<li style=""> android:layout_height=”fill_parent”</li>
<li style=""> android:paddingTop=”0dip”</li>
<li style=""> android:paddingBottom=”0dip”</li>
<li style=""> android:paddingRight=”10dip”</li>
<li style=""> android:paddingLeft=”10dip”</li>
<li style=""> android:layout_marginTop=”2dip”</li>
<li style=""> android:textStyle=”bold”</li>
<li style=""> android:text=”@string/kill_process”</li>
<li style=""> android:textColor=”#5555EE”&gt;&lt;/Button&gt;</li>
<li style=""> &lt;/RelativeLayout&gt;</li>
<li style=""> &lt;TextView</li>
<li style=""> android:id=”@+id/detail_process_name”</li>
<li style=""> android:layout_height=”wrap_content”</li>
<li style=""> android:layout_width=”fill_parent”</li>
<li style=""> android:paddingTop=”3dip”</li>
<li style=""> android:paddingBottom=”3dip” /&gt;</li>
<li style="">
</li><li style=""> &lt;TextView</li>
<li style=""> android:text=”@string/detail_process_copyright”</li>
<li style=""> android:textSize=”7pt”</li>
<li style=""> android:layout_alignParentLeft=”true”</li>
<li style=""> android:layout_width=”fill_parent”</li>
<li style=""> android:layout_height=”25dip”</li>
<li style=""> android:gravity=”center_vertical”</li>
<li style=""> android:background=”#555555″</li>
<li style=""> android:paddingTop=”3dip”</li>
<li style=""> android:paddingBottom=”3dip” /&gt;</li>
<li style=""> &lt;TextView</li>
<li style=""> android:id=”@+id/detail_process_copyright”</li>
<li style=""> android:layout_height=”wrap_content”</li>
<li style=""> android:layout_width=”fill_parent”</li>
<li style=""> android:paddingTop=”3dip”</li>
<li style=""> android:paddingBottom=”3dip” /&gt;</li>
<li style="">
</li><li style=""> &lt;TextView</li>
<li style=""> android:text=”@string/detail_process_install_dir”</li>
<li style=""> android:textSize=”7pt”</li>
<li style=""> android:layout_alignParentLeft=”true”</li>
<li style=""> android:layout_width=”fill_parent”</li>
<li style=""> android:layout_height=”25dip”</li>
<li style=""> android:gravity=”center_vertical”</li>
<li style=""> android:background=”#555555″</li>
<li style=""> android:paddingTop=”3dip”</li>
<li style=""> android:paddingBottom=”3dip” /&gt;</li>
<li style=""> &lt;TextView</li>
<li style=""> android:id=”@+id/detail_process_install_dir”</li>
<li style=""> android:layout_height=”wrap_content”</li>
<li style=""> android:layout_width=”fill_parent”</li>
<li style=""> android:paddingTop=”3dip”</li>
<li style=""> android:paddingBottom=”3dip” /&gt;</li>
<li style="">
</li><li style=""> &lt;TextView</li>
<li style=""> android:text=”@string/detail_process_data_dir”</li>
<li style=""> android:textSize=”7pt”</li>
<li style=""> android:layout_alignParentLeft=”true”</li>
<li style=""> android:layout_width=”fill_parent”</li>
<li style=""> android:layout_height=”25dip”</li>
<li style=""> android:gravity=”center_vertical”</li>
<li style=""> android:background=”#555555″</li>
<li style=""> android:paddingTop=”3dip”</li>
<li style=""> android:paddingBottom=”3dip” /&gt;</li>
<li style=""> &lt;TextView</li>
<li style=""> android:id=”@+id/detail_process_data_dir”</li>
<li style=""> android:layout_height=”wrap_content”</li>
<li style=""> android:layout_width=”fill_parent”</li>
<li style=""> android:paddingTop=”3dip”</li>
<li style=""> android:paddingBottom=”3dip” /&gt;</li>
<li style="">
</li><li style=""> &lt;TextView</li>
<li style=""> android:text=”@string/detail_process_package_size”</li>
<li style=""> android:textSize=”7pt”</li>
<li style=""> android:layout_alignParentLeft=”true”</li>
<li style=""> android:layout_width=”fill_parent”</li>
<li style=""> android:layout_height=”25dip”</li>
<li style=""> android:gravity=”center_vertical”</li>
<li style=""> android:background=”#555555″</li>
<li style=""> android:paddingTop=”3dip”</li>
<li style=""> android:paddingBottom=”3dip” /&gt;</li>
<li style=""> &lt;TextView</li>
<li style=""> android:id=”@+id/detail_process_package_size”</li>
<li style=""> android:layout_height=”wrap_content”</li>
<li style=""> android:layout_width=”fill_parent”</li>
<li style=""> android:paddingTop=”3dip”</li>
<li style=""> android:paddingBottom=”3dip” /&gt;</li>
<li style="">
</li><li style=""> &lt;TextView</li>
<li style=""> android:text=”@string/detail_process_permission”</li>
<li style=""> android:textSize=”7pt”</li>
<li style=""> android:layout_alignParentLeft=”true”</li>
<li style=""> android:layout_width=”fill_parent”</li>
<li style=""> android:layout_height=”25dip”</li>
<li style=""> android:gravity=”center_vertical”</li>
<li style=""> android:background=”#555555″</li>
<li style=""> android:paddingTop=”3dip”</li>
<li style=""> android:paddingBottom=”3dip” /&gt;</li>
<li style=""> &lt;TextView</li>
<li style=""> android:id=”@+id/detail_process_permission”</li>
<li style=""> android:layout_height=”wrap_content”</li>
<li style=""> android:layout_width=”fill_parent”</li>
<li style=""> android:paddingTop=”3dip”</li>
<li style=""> android:paddingBottom=”3dip” /&gt;</li>
<li style="">
</li><li style=""> &lt;TextView</li>
<li style=""> android:text=”@string/detail_process_service”</li>
<li style=""> android:textSize=”7pt”</li>
<li style=""> android:layout_alignParentLeft=”true”</li>
<li style=""> android:layout_width=”fill_parent”</li>
<li style=""> android:layout_height=”25dip”</li>
<li style=""> android:gravity=”center_vertical”</li>
<li style=""> android:background=”#555555″</li>
<li style=""> android:paddingTop=”3dip”</li>
<li style=""> android:paddingBottom=”3dip” /&gt;</li>
<li style=""> &lt;TextView</li>
<li style=""> android:id=”@+id/detail_process_service”</li>
<li style=""> android:layout_height=”wrap_content”</li>
<li style=""> android:layout_width=”fill_parent”</li>
<li style=""> android:paddingTop=”3dip”</li>
<li style=""> android:paddingBottom=”3dip” /&gt;</li>
<li style="">
</li><li style=""> &lt;TextView</li>
<li style=""> android:text=”@string/detail_process_activity”</li>
<li style=""> android:textSize=”7pt”</li>
<li style=""> android:layout_alignParentLeft=”true”</li>
<li style=""> android:layout_width=”fill_parent”</li>
<li style=""> android:layout_height=”25dip”</li>
<li style=""> android:gravity=”center_vertical”</li>
<li style=""> android:background=”#555555″</li>
<li style=""> android:paddingTop=”3dip”</li>
<li style=""> android:paddingBottom=”3dip” /&gt;</li>
<li style=""> &lt;TextView</li>
<li style=""> android:id=”@+id/detail_process_activity”</li>
<li style=""> android:layout_height=”wrap_content”</li>
<li style=""> android:layout_width=”fill_parent”</li>
<li style=""> android:paddingTop=”3dip”</li>
<li style=""> android:paddingBottom=”3dip” /&gt;</li>
<li style=""> &lt;/LinearLayout&gt;</li>
<li style=""> &lt;/ScrollView&gt;</li>
</ol>

<p>?</p>
<p>?</p>

<p><br style="padding: 0px; margin: 0px;"></p>
<p>二、获取进程的图标、进程名、Application名字、和CPU内存信息  我在程序中使用了一个类BasicProgramUtil来存放进
程列表中显示的摘要信息,包括了进程图标、进程名、Application名、CPU和内存信息。  BasicProgramUtil.java</p>
<div class="blockcode" style="margin: 10px 0px; padding: 10px 0px 5px 10px; overflow: hidden; background-color: #f7f7f7; color: #666666; background-position: 0px 0px; border: 1px solid #cccccc;">
<div id="code2" style="padding: 0px; margin: 0px;">
<ol style="">
<li style=""> /**</li>
<li style=""> * 应用程序包的简要信息</li>
<li style=""> */</li>
<li style=""> package crazypebble.sysassist.procmgr;</li>
<li style="">
</li><li style=""> import android.graphics.drawable.Drawable;</li>
<li style="">
</li><li style=""> public class BasicProgramUtil{</li>
<li style="">
</li><li style=""> /*</li>
<li style=""> * 定义应用程序的简要信息部分</li>
<li style=""> */</li>
<li style=""> private Drawable icon;? ?? ?? ?? ?? ?? ?? ?? ?? ? // 程序图标</li>
<li style=""> private String programName;? ?? ?? ?? ?? ?? ?? ?? ?// 程序名称</li>
<li style=""> private String processName;</li>
<li style="">
</li><li style=""> private String cpuMemString;</li>
<li style="">
</li><li style=""> public BasicProgramUtil() {</li>
<li style=""> icon = null;</li>
<li style=""> programName = “”;</li>
<li style=""> processName = “”;</li>
<li style=""> cpuMemString = “”;</li>
<li style=""> }</li>
<li style="">
</li><li style=""> public Drawable getIcon() {</li>
<li style=""> return icon;</li>
<li style=""> }</li>
<li style="">
</li><li style=""> public void setIcon(Drawable icon) {</li>
<li style=""> this.icon = icon;</li>
<li style=""> }</li>
<li style="">
</li><li style=""> public String getProgramName() {</li>
<li style=""> return programName;</li>
<li style=""> }</li>
<li style="">
</li><li style=""> public void setProgramName(String programName) {</li>
<li style=""> this.programName = programName;</li>
<li style=""> }</li>
<li style="">
</li><li style=""> public String getCpuMemString() {</li>
<li style=""> return cpuMemString;</li>
<li style=""> }</li>
<li style="">
</li><li style=""> public void setCpuMemString(String cpuMemString) {</li>
<li style=""> this.cpuMemString = cpuMemString;</li>
<li style=""> }</li>
</ol>


 
分享到:
评论

相关推荐

    Android系统中的进程管理:进程的创建

    对于操作系统来说,进程管理是其最重要的...通过proc文件系统来查询和调整进程状态等对于Android来说,进程管理的主要内容包括以下几个部分内容:1.进程的创建2.进程的优先级管理3.进程的内存管理4.进程的回收和死亡处

    android项目之aidl跨进程调用举例Demo

    3. 实现接口-AIDL编译器从AIDL接口文件中利用Java语言创建接口,该接口有一个继承的命名为Stub的内部抽象类(并且实现了一些IPC调用的附加方法),要做的就是创建一个继承YourInterface.Stub的类并且实现在.aidl文件...

    移动应用课程开发实践-基于Android的体重管理APP实现.rar

    Dalvik是经过优化的Java编译器,允许在有限的内存中同时运行多个虚拟机的实例,并且每一个Dalvik应用作为一个独立的Linux进程执行,独立的进程可以防止在虚拟机崩溃的时候所有程序都被关闭。项目的开发在Eclipse环境...

    Android通过JNI实现守护进程

    开发一个需要常住后台的App其实是一件非常头疼的事情,不仅要应对国内各大厂商的ROM,还需要应对各类的安全管家…虽然不断的研究各式各样的方法,但是效果并不好,比如任务管理器把App干掉,服务就起不来了… ...

    android开发任务管理器源代码

    请使用1.5API ,简单的任务管理器,实现卸载,关闭进程等功能

    Android的设计与实现(卷1)

    android的设计与实现:卷i》是android应用开发工程师和android系统工程师进阶修炼的...activity manager篇(第10~12章)深入阐述了activitymanagerservice的运行机制、应用程序和进程的启动流程,以及进程管理机制。

    Android的设计与实现 卷1 (带目录)

    “Android的设计与实现”系列丛书主要围绕Android系统的四层结构展开,通过源代码来...Activity Manager篇(第10~12章)深入阐述了ActivityManagerService的运行机制、应用程序和进程的启动流程,以及进程管理机制。

    android程序管理代码

    android程序管理代码,简单实现程序管理,可以查看、卸载安装的程序,一键停止正在运行的进程

    新版Android开发教程.rar

    Android 是一个专门针对移动设备的软件集,它包括一个操作系统,中间件和一些重要的应用程序。 Beta 版 的 Android SDK 提供了在 Android 平台上使用 JaVa 语言进行 Android 应用开发必须的工具和 API 接口。 特性 ...

    Android技术内幕.系统卷(扫描版)

    8.2.5 dalvik进程管理 /492 8.2.6 dalvik内存管理 /501 8.2.7 dalvik加载器 /509 8.2.8 dalvik解释器 /517 8.2.9 dalvik jit /519 8.3 jni的构架与实现 /523 8.3.1 jni构架 /523 8.3.2 jni实现 /524 8.4 小结 /526 ...

    Android应用源码安卓源码(172个合集).zip

    Android应用源码安卓源码(172个合集),可以做为你的学习参考。 365MobileSecretary v1.0.6(365手机助手AIDL) 888个经典 Logo.rar AdXmpp(Openfire+asmack+spark) .zip AidlDemo(简单aidl的例子) aidl跨进程调用....

    Android Binder设计与实现

    Linux已经拥有管道,system V IPC,socket等IPC手段,却还要倚赖Binder来实现进程间通信,说明Binder具有无可比拟的优势。深入了解Binder并将之与传统 IPC做对比有助于我们深入领会进程间通信的实现和性能优化。本文...

    Android编程实现任务管理器的方法

    主要介绍了Android编程实现任务管理器的方法,涉及Android针对程序与进程操作的相关技巧,需要的朋友可以参考下

    Android中SQLite数据库查看工具

    SQLite是一个进程内的库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。它是一个零配置的数据库,这意味着与其他数据库不一样,您不需要在系统中配置。 就像其他数据库,SQLite 引擎不是一个...

    Android专用驱动

    Binder是一种进程间通信机制(IPC),它与传统的IPC机制对比,最大的特点是高效,因为通信数据在两个进程之间只需要执行一次拷贝即可。Binder在Android系统里面使用得非常广泛以及频繁。在涉及到比较大的通信数据时,...

    基于Android平台的财务软件

    由于消费水平的提高,人们...SQLite数据库,是一款轻型的数据库,遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中,它占用资源非常的低,SQLite是一个进程内的库,实现了自给自足的、无服务器的、零配置

    Android最新资料以及源码

     Android平台下的手机系统管理软件,就像电脑系统一样包括进程管理、文件管理和系统管理,具体来说,包括:  1、系统信息,查看设备系统版本,运营商及其系统信息.  2、硬件信息查看包括CPU,硬盘,内存等硬件信息...

    深入剖析Android中init进程实现的C语言

    由于Android是基于Linux内核的,所以init也是Android系统中用户空间的第一个进程。init的进程号是1。作为天字第一号进程,init有很多重要的工作: init提供property service(属性服务)来管理Android系统的属性。 ...

Global site tag (gtag.js) - Google Analytics