文章列表
SAX解析:
解析XML文件采用的是事件驱动,也就是说,它并不需要解析完整个文档,在按内容顺序解析
文档的过程中,SAX会判断当前读到的字符是否合法XML语法中的某部分,如果符合就会触发事
件。所谓事件,其实就 ...
Manifest如何解析的?
1)系统启动的时候,PackagedManageService读取所有程序的Manifest.xml信息,写入系统共享内存,相当于有一张所有应用程序的信息表
2)应用程序启动时候,Launcher进行系统级判断,比如最小SDK等
3)四大组件在需要的时候实例化
所以一般下载linux的源代码就有.tar.bz2,.tar.gz这样的格式
其中bz2格式的压缩比例要高于gz,可以节省大量的下载时间
编写自定义Adapter可以继承BaseAdapter类,如果是数据库使用可以继承CursorAdapter。在本例中继承了BaseAdapter类,BaseAdapter是一个抽象类,必须在它的子类中实现下面的方法:
• int getCount() 返回总数据源中总的记录数;
• Object getItem(int position) 根据选择的项目的位置,获得选择的数据源中某个项目的数据;
• long getItemId(int position) 根据选择的项目的位置;
• View getView(int position, View convertView, ViewGroup ...
在现代的操作系统中,有一个很重要的概念――线程,几乎所有目前流行的操作系统都支持线程,线程来源于操作系统中进程的概念,进程有自己的虚拟地址空间以及正文段、数据段及堆栈,而且各自占有不同的系统资源(例如文件、环境变量等等)。与此不同,线程不能单独存在,它依附于进程,只能由进程派生。如果一个进程派生出了两个线程,那这两个线程共享此进程的全局变量和代码段,但每个线程各拥有各自的堆栈,因此它们拥有各自的局部变量,线程在UNIX系统中还被进一步分为用户级线程(由进程自已来管理)和系统级线程(由操作系统的调度程序来管理)。
既然有了进程,为什么还要提出线程的概念呢?因为与创建一个新的进程相比,创建一个 ...