
android
文章平均质量分 78
dzhjsofo
低调是最牛叉的炫耀
展开
-
一则OOM死机故障的处理过程
OOM是Out of Memory的简写,也就是内存不足。出现该问题的原因有很多,如程序内存泄漏等。内存泄漏问题可以通过定时地终止和重启有问题的程序来发现和解决。在比较新的Linux内核版本中,有一种名为OOM(Out Of Memory )杀手的算法,它可以在必要时执行Kill而杀掉一些程序。一、故障现象某服务器运行途中,屏幕显示如下错误:可以看到终端显示“out of memo转载 2013-03-18 14:00:11 · 1553 阅读 · 0 评论 -
分析Android 根文件系统启动过程(init守护进程分析)
在Android系统启动时,内核引导参数上一般都会设置“init=/init”,这样的话,如果内核成功挂载了这个文件系统之后,首先运行的就是这个根目录下的init程序。这个程序所了什么呢? 我们只有RFSC(Readthe Fucking Source code)!!init程序源码在Android官方源码的system/core/init中,main在init.c里。我们的分析就从mai转载 2012-05-14 17:12:17 · 414 阅读 · 0 评论 -
ContentProvider(内容提供者)用法详解
1、 ContentProvider简介当应用继承ContentProvider类,并重写该类用于提供数据和存储数据的方法,就可以向其他应用共享其数据。虽然使用其他方法也可以对外共享数据,但数据访问方式会因数据存储的方式而不同。如:采用文件方式对外共享数据,需要进行文件操作读写数据;采用sharedpreferences共享数据,需要使用sharedpreferences API读转载 2013-03-12 17:31:12 · 539 阅读 · 0 评论 -
Android BroadcastReceiver两种注册方式区别
/************ 动态注册 ************/ TextMain.java package lxy.litsoft; import android.app.Activity; import android.content.BroadcastReceiver; import android.content.Context; impor转载 2013-03-11 15:02:09 · 682 阅读 · 0 评论 -
Android应用程序四大组件
在Android中,一个应用程序可以使用其它应用程序的组件,这是Android系统一个非常重要的特性。例如,你编写的应用程序需要显示一个可以滚动的图片列表,如果其它某个应用程序已经开发了具有此功能的组件并对外发布了此组件以使其它应用程序能够使用此组件,因此你可以直接调用这个组件来显示图片,而不需要重新开发一个具有此功能的组件。在需要的时候Android会启动另外一个程序的部分代码,这部分代码实现了转载 2013-03-01 17:03:30 · 441 阅读 · 0 评论 -
Android dumpsys 命令解析
Android has an interesting command called dumpsys to dump some system information. Even described on adb manual I think that some points should be reinforced. In order to get the complete status j转载 2012-11-22 15:27:47 · 615 阅读 · 0 评论 -
Android Low memory killer(上)
本文参照:http://blog.sina.com.cn/s/blog_4d66a3cb0100prfe.htmlhttp://tech.it168.com/a2011/0805/1228/000001228471_2.shtml Android中,进程的生命周期都是由系统控制的,即使用户关掉了程序,进程依然是存在于内存之中。这样设计的目的是为了下次能快速启动。当然,随着系统运行时间的增长转载 2012-08-28 17:06:29 · 954 阅读 · 0 评论 -
【linux】 vm.overcommit_memory 内核参数
目录场景: 分析问题: 1,对比法 2,看内核说明文档 3,下面的文档已经说的很清楚了。 4,如何计算虚拟内存? 5,下面来测试这两个参数: 结论: 相关概念 1,内存转载 2012-08-28 15:36:44 · 3944 阅读 · 0 评论 -
Android NDK开发(2)----- JNI多线程
一、概述 JNI编程和Linux上的C/C++编程还是挺相似的,每次java调用JNI中的函数时都会传入有关JVM的一些参数(如JNIEnv,jobject),每次JNI回调java中的方法时都要通过JVM的有关参数来实现,当在JNI中涉及到多线程的话还是有一些不一样的地方,就是要在子线程函数里使用AttachCurrentThread()和DetachCurrentThread转载 2013-10-11 10:44:00 · 724 阅读 · 0 评论 -
Android杂谈--Activity、Window、View的关系
一、首先说说View和ViewGroup吧 Android系统中的所有UI类都是建立在View和ViewGroup这两个类的基础上的。所有View的子类成为”Widget”,所有ViewGroup的子类成为”Layout”。View和ViewGroup之间采用了组合设计模式,可以使得“部分-整体”同等对待。ViewGroup作为布局容器类的最上层,布局容器里面又可以有View和ViewG转载 2013-10-16 19:51:44 · 625 阅读 · 0 评论 -
Surface、SurfaceView、SurfaceHolder及SurfaceHolder.Callback之间的关系
http://blog.youkuaiyun.com/pathuang68/article/details/7351317一、SurfaceSurface就是“表面”的意思。在SDK的文档中,对Surface的描述是这样的:“Handle onto a raw buffer that is being managed by the screen compositor”,翻译成中文就是“由屏转载 2013-10-18 14:54:10 · 666 阅读 · 0 评论 -
Android Project Butter分析
http://blog.youkuaiyun.com/innost/article/details/8272867Android Project Butter分析一背景知识介绍随着时间的推移,Android OS系统一直在不断进化、壮大,日趋完善。但直到Android 4.0问世,有关UI显示不流畅的问题也一直未得到根本解决。在整个进化过程中,Android在Display(显示)转载 2013-10-18 16:05:54 · 592 阅读 · 0 评论 -
关于Android的问号?和@符号的用法
@表示引用资源,声明这是一个资源引用—随后的文本是以@[package:]type/name形式提供的资源名。 @android:string表明引用的系统的(android.*)资源@string表示引用应用内部资源对于id, 可以用@+id表明创建一个id?表示引用属性 “?”引用主题属性,当您使用这个标记,你所提供的资源名必须能够在主题属性中找到,因为资源工具认为这个转载 2013-10-29 23:56:18 · 702 阅读 · 0 评论 -
Android Canvas编程:对rotate()和translate()两个方法的研究
http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2013/0304/957.html摘要 首先我们来看这样一个需求:显示一个竖向显示的TextView。说白了,就是把我们日常使用的TextView让丫的旋转90度。 怎么样?是不是很多人会说这有什么难得嘛,不就是用canvas让丫的旋转90度嘛。 别急,我们一点点引申。 对于很转载 2013-11-06 14:43:12 · 753 阅读 · 0 评论 -
Android 中的 Service 全面总结(转)
转自:http://www.cnblogs.com/newcj/archive/2011/05/30/2061370.html#Android 中的 Service 全面总结1、Service的种类按运行地点分类:类别区别优点缺点应用本地服务(Local)该服务依转载 2013-11-21 10:39:21 · 672 阅读 · 0 评论 -
chromium video相关
规范: - HTMLAudioElement - HTMLMediaElement - HTMLVideoElement概况: chromium的video的实现依赖于以下三部分: pipeline:chromium自己实现的播放引擎,处理音频/视频的同步和资源获取 FFMpeg: 开源库。转载 2013-11-22 15:26:49 · 1327 阅读 · 0 评论 -
java reference个人学习笔记
今天在看 blog 的时候学习到了 java reference 方面的知识,这些知识是个人的学习笔记,参考blog为:http://www.ibm.com/developerworks/cn/java/j-lo-langref/index.html?ca=drs-希望各位能拍砖,让我能了解到更深入的内容以及不足,感激StrongReference :我们知道,当你调用例如Stri转载 2013-12-23 10:01:14 · 534 阅读 · 0 评论 -
StevGuo系列文章翻译之Android系统属性
每一个属性都是一个名值对,名和值都是文本。Android系统中,属性被大量使用,用来记录系统设置或者在进程间交换信息。属性在整个系统中是可见的,每一个进程都可以get/set属性。系统初始化时,在init这个daemon中,Android会分配一些内存来存储这些属性,Init源码在/system/init中。Init这个daemon会开启一个运行在init进程中的property servic转载 2012-07-09 16:18:11 · 479 阅读 · 0 评论 -
Android init.rc解析
Android init.rc (Android init language)Android初始化语言由四大类声明组成:行为类(Actions),命令类(Commands),服务类(Services),选项类(Options). * 初始化语言以行为单位,由以空格间隔的语言符号组成。C风格的反斜杠转义符可以用来插入空白到语言符号。双引号也可以用来防止文本被空格分成多个语言转载 2012-07-13 16:21:29 · 426 阅读 · 0 评论 -
Android OTA 升级之二:脚本 ota_from_target_files
前言 前面介绍了ota package 的编译过程,其中最核心的部分就是一个 python 脚本:ota_from_target_files. 现在我们分析这个脚本。先看一下帮助不带任何参数,先看一下它的帮助:[c-sharp] view plaincopyprint?$ ./ota_from_target_files Given转载 2013-03-06 09:50:31 · 703 阅读 · 0 评论 -
内存耗用:VSS/RSS/PSS/USS
TermsVSS - Virtual Set Size 虚拟耗用内存(包含共享库占用的内存)RSS - Resident Set Size 实际使用物理内存(包含共享库占用的内存)PSS - Proportional Set Size 实际使用的物理内存(比例分配共享库占用的内存)USS - Unique Set Size 进程独自占用的物理内存(不包含共享库占用的转载 2012-11-23 09:04:22 · 490 阅读 · 0 评论 -
adb shell dumpsys 命令 查看内存
2011-11-22 20:47 2333人阅读 评论(2) 收藏 举报目录(?)[-]android程序内存被分为2部分:native和dalvik,dalvik就是我们平常说的java堆,我们创建的对象是在这里面分配的,而bitmap是直接在native上分配的,对于内存的限制是 native+dalvik 不能超过最大限制。android程序内存一般限制在16M,当然转载 2012-11-22 15:26:01 · 1132 阅读 · 1 评论 -
Java创建线程的两个方法
Java提供了线程类Thread来创建多线程的程序。其实,创建线程与创建普通的类的对象的操作是一样的,而线程就是Thread类或其子类的实例对象。每个Thread对象描述了一个单独的线程。要产生一个线程,有两种方法:◆需要从Java.lang.Thread类派生一个新的线程类,重载它的run()方法; ◆实现Runnalbe接口,重载Runnalbe接口中的run()方法。转载 2013-04-11 11:20:30 · 624 阅读 · 0 评论 -
android Handler post sendMessage
Handler 为Android操作系统中的线程通信工具,包为android.os.Handler。与Handler绑定的有两个队列,一个为消息队列,另一个为线程队列。Handler可以通过这两个队列来分别:发送、接受、处理消息–消息队列;启动、结束、休眠线程–线程队列;Android OS中,一个进程被创建之后,主线程(可理解为当前Activity)创建一个消息队转载 2013-04-10 16:07:34 · 1092 阅读 · 0 评论 -
JAVA基础--JAVA中的反射机制详解
JAVA反射机制 JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。Java反射机制主要提供了以下功能: 在运行时判断任意一个对象所属的类;在运行时构造任意一个类的对象;在运行时判断任意一个类所具有的成员变量和方法;在运行时调用任意一转载 2013-03-04 22:22:32 · 299 阅读 · 0 评论 -
Android系统中的广播(Broadcast)机制简要介绍和学习计划
在Android系统中,广播(Broadcast)是在组件之间传播数据(Intent)的一种机制;这些组件甚至是可以位于不同的进程中,这样它就像Binder机制一样,起到进程间通信的作用;本文通过一个简单的例子来学习Android系统的广播机制,为后续分析广播机制的源代码作准备。 在Android系统中,为什么需要广播机制呢?广播机制,本质上它就是一种组件间的通信方式,如果是两个转载 2012-11-23 17:21:26 · 503 阅读 · 0 评论 -
UML类图关系大全
1、关联双向关联:C1-C2:指双方都知道对方的存在,都可以调用对方的公共属性和方法。在GOF的设计模式书上是这样描述的:虽然在分析阶段这种关系是适用的,但我们觉得它对于描述设计模式内的类关系来说显得太抽象了,因为在设计阶段关联关系必须被映射为对象引用或指针。对象引用本身就是有向的,更适合表达我们所讨论的那种关系。所以这种关系在设计的时候比较少用到,关联一般都是有向的。转载 2012-11-23 11:12:50 · 362 阅读 · 0 评论 -
两分钟彻底让你明白Android Activity生命周期(图文)!
大家好,今天给大家详解一下Android中Activity的生命周期,我在前面也曾经讲过这方面的内容,但是像网上大多数文章一样,基本都是翻译Android API,过于笼统,相信大家看了,会有一点点的帮助 ,但是还不能完全吃透,所以我今天特意在重新总结一下.首先看一下Android api中所提供的Activity生命周期图(不明白的,可以看完整篇文章,在回头看一下这个图,你会明白的):转载 2012-09-26 09:40:20 · 343 阅读 · 0 评论 -
Android中的Intent详细讲解
Android中的Intent详细讲解在一个Android应用中,主要是由四种组件组成的,这四种组件可参考“Android应用的构成”。而这四种组件是独立的,它们之间可以互相调用,协调工作,最终组成一个真正的Android应用。在这些组件之间的通讯中,主要是由Intent协助完成的。Intent负责对应用中一次操作的动作、动作涉及数据、附加数据进行描述,Android则转载 2012-09-25 20:17:39 · 476 阅读 · 0 评论 -
Android中怎么启动关闭Service及功能解释
什么是Service? 解惑: 1、 Service不是分离开的进程,除非其他特殊情况,它不会运行在自己的进程,而是作为启动运行它的进程的一部分。 2、 Service不是线程,这意味着它将在主线程里劳作。 启动service有两种方法: 1、 Context转载 2012-09-19 21:36:18 · 1525 阅读 · 0 评论 -
Service: 生命周期与 startService
Service 经常被使用,结合开发过程中遇到的问题以及注意事项,总结一下 android service 组件。Service: 小试 AIDL IPC 牛刀 是我年少轻狂之时写的一篇很糟糕的博文,那个时候学得东西不多,但是激情很高。本来想删掉它,然后重新写一篇,以免毒害他人。后来,还是舍不得,略做修改,勉强一下吧!本人觉得,it 就是一份扯淡的事业。只要转载 2012-09-19 21:19:48 · 438 阅读 · 0 评论 -
Android Low memory killer(下)
本文参照:http://blog.sina.com.cn/s/blog_4d66a3cb0100prfe.htmlhttp://tech.it168.com/a2011/0805/1228/000001228471_2.shtml在阅读本文前,请先阅读《Android Low memory killer(上)》在了解了Low Memory Killer的原理之后,我来看其具体实现,转载 2012-08-28 17:07:21 · 1007 阅读 · 0 评论 -
在init.rc文件里加载的服务
1、sh服务 2、adbd 服务 3、servicemanager 4、vold 5、nexus 6、zygote 7、mediaserver 8、bootanimation 9、dbus 10、installd 11、keystore 1、sh服务 service console /system/bin/sh console sh服务是转载 2012-08-23 11:18:57 · 1274 阅读 · 0 评论 -
android I/DEBUG堆栈信息
堆栈错误信息:I/DEBUG ( 30): r0 afd4d4a4 r1 ffffffff r2 7fffffff r3 afd4d4a4I/DEBUG ( 30): r4 00000000 r5 ffffffff r6 00000001 r7 be9f6cccI/DEBUG ( 30): r8 00000000 r9 00000000转载 2012-08-02 17:31:52 · 502 阅读 · 0 评论 -
PackageInstaller 原理简述 & PackageManagerService注记 & PackageParser和AndroidManifest.xml注记
PackageInstaller 原理简述 应用安装是智能机的主要特点,即用户可以把各种应用(如游戏等)安装到手机上,并可以对其进行卸载等管理操作。APK是Android Package的缩写,即Android安装包。APK是类似Symbian Sis或Sisx的文件格式。通过将APK文件直接传到Android模拟器或Android手机中执行即可安装。Android应用安装有如下四种方转载 2012-07-17 11:36:51 · 1965 阅读 · 0 评论 -
android:onTouch()和onTouchEvent()的区别?看完这篇文章就知道了
Android Touch Screen 与传统Click Touch Screen不同,会有一些手势(Gesture),例如Fling,Scroll等等。这些Gesture会使用户体验大大提升。Android中的Gesture识别(detector)是通过GestureDetector.OnGestureListener接口实现的。首先,Android事件处理机制是基于Liste转载 2013-12-23 15:00:15 · 662 阅读 · 0 评论