摘要: cat /etc/passwd 所有系统用户账户列表及每个用户的基本信息cat /etc/meminfo 虚拟内存的当前状况ipcs -m 查看当前系统上共享内存页面[root@hadoop~]#当前shell的用户名,当前虚拟控制台编号,当前目录ls -F 区分文件和目录ls -a 隐藏文件 文... 阅读全文
posted @ 2015-12-25 17:00 小斌_北京 阅读(128) 评论(0) 推荐(0) 编辑
摘要: service不是一个独立的进程,默认情况下运行在应用程序的主线程中。启动服务后,按Home键,服务还会执行。启动服务后,退出进程,服务不会执行。启动服务,不用多线程,界面会阻塞。Service的分类:按照启动方式分类一、Started1、startService()来启动。2、一旦启动,就运行在后台,即便启动它的对象都销毁了。3、通常只启动,不返回值。4、通常网络上传或下载,操作完成后,自动停止。5、onStartCommand()二、Bound1、bindService()来启动2、提供客户端服务器接口来启动3、发送请求、得到返回值,甚至通过IPC来通讯4、使用者绑定,只要一个绑定者,服务 阅读全文
posted @ 2011-11-24 16:53 小斌_北京 阅读(267) 评论(0) 推荐(0) 编辑
摘要: Hanlder是什么?作用以及为何要引入Handler的概念?Hanlder作用:1、执行计划任务,你可以再预定的实现执行某些任务,可以模拟定时器。2、线程间通信。在Android的应用启动时,会创建一个主线程,主线程会创建一个消息队列来处理各种消息。当你创建子线程时,你可以再你的子线程中拿到父线程的消息队列发送消息了。由于该方法在其它线程中更新界面。一、角色描述1、Looper:(相当于隧道)一个线程可以产生一个Looper对象,由它来管理此线程里的Message Queue(车队,消息隧道)2、Handler:你可以构造Handler对象来与Looper沟通,以便push新消息到Messa 阅读全文
posted @ 2011-11-21 16:46 小斌_北京 阅读(197) 评论(0) 推荐(0) 编辑
摘要: Linux 系统是如何支持多线程的?我们把线程系统分为两类:1、 操作系统内核实现了线程模型(核心级线程)Windows 线程与进程的多对多模型,线程的调度者在核内。2、 操作系统核外实现的线程(用户级线程) linux 部分Unix 线程与进程的一对一、一对多模型,线程的调度者在外核。线程实现和进程调度为了减少进程切换的开销,我们把资源从主体分离,进程共享资源,就形成了轻量级进程。什么时候需要多线程和异步?耗时操作和定时操作IO操作(网络操作、文件操作、数据库操作)复杂的运算工作Android中的耗时一般指超过5秒定时一般是指schedule task的需要 阅读全文
posted @ 2011-11-21 16:06 小斌_北京 阅读(222) 评论(0) 推荐(0) 编辑
摘要: activity和binder的关系从宏观的角度观察Binder,Service,ServiceManager,并阐述各自的概念。从Linux的概念空间中,Android的设计Activity托管在不同的的进程,Service也都是托管在不同的进程,不同进程间的Activity,Service之间要交换数据属于IPC。Binder就是为了Activity通讯而设计的一个轻量级的IPC框架。activity 整个应用程序的启动过程:一. Step1 - Step 11:Launcher通过Binder进程间通信机制通知ActivityManagerService,它要启动一个Activity;二 阅读全文
posted @ 2011-11-19 17:05 小斌_北京 阅读(880) 评论(0) 推荐(0) 编辑
摘要: LOG产生的位置:log一般放在安卓手机的/data/log中LOG文件的组成:1 系统的基本信息:包括内存、CPU、进程队列、虚拟内存、垃圾回收等信息。2 事件信息,我们主要用的信息。3 虚拟机信息 包括进程的、线程的跟踪信息。如何利用LOG文件:1 如果是ANR问题,则可以用“ANR”关键字来进行搜索。2 如果是ForceClosed和其他的异常信息,则搜索“Fatal”关键字。何时会产生ANR?1 界面操作, (按钮点击)等待响应时间超过5秒;2 HandleMessage 回调函数中执行超过10秒。对进行比较长时间的处理的时候,放在主界面,或者是另外的一个线程中,这样就不会产生ANR 阅读全文
posted @ 2011-11-19 14:15 小斌_北京 阅读(219) 评论(0) 推荐(0) 编辑
摘要: Android的monkey用法1. 打开AVD,运行要进行压力测试的程序。2.在命令行输入adb shell3.输入ls查看当前文件夹下的目录,执行结果如下C:\Documents and Settings\Administrator>adb shell# ls4. 使用命令 cd /data/data就可以看到自己新建的包,例如我的是com.chinabinner5.直接输入monkey -p com.example.android.apis -v 50它启动指定的应用程序,并向其发送500个伪随机事件:$ adb shell monkey -p your.package.name 阅读全文
posted @ 2011-11-19 14:15 小斌_北京 阅读(228) 评论(0) 推荐(0) 编辑
摘要: android的应用程序的主动退出:1、finish()2 System.exit()3 restartPackage()4 Activity StackPackageManager android应用程序的启动的主要类Activity Window View三者的关系1、一个Activity构造的时候,一定会Window(PhoneWindow),并且只有一个。2、这个窗户只有一个ViewRoot(View ViewGroup) Layout LayoutInflater3、addView4、WindowManagerService接收的消息,并且回调Activity函数,onKeyDow. 阅读全文
posted @ 2011-11-19 13:34 小斌_北京 阅读(243) 评论(0) 推荐(0) 编辑
摘要: android的5个进程等级1、Foreground Process (前台进程)a 正处于Activity Resume()状态b 正处于与bound服务交互的状态c 正处于服务在前台的状态,(startForeground()被调用)d Service生命周期函数正在被执行(onCreate(),onStart(),onDestroy())e BroadcastReceiver正在执行onReceive()方法杀死Foreground Process需要用户响应,因为这个安全优先级是最高的。2、Visible ProcessActivity不在前台显示,但也没有隐藏,能够看的见,比如弹出一 阅读全文
posted @ 2011-11-19 12:06 小斌_北京 阅读(493) 评论(0) 推荐(0) 编辑