<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[NewJerryj的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/newjerryj</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; newjerryj]]></copyright><item><title><![CDATA[Dalvik虚拟机的进程和线程管理]]></title><link>https://blog.youkuaiyun.com/newjerryj/article/details/9404241</link><guid>https://blog.youkuaiyun.com/newjerryj/article/details/9404241</guid><author>newjerryj</author><pubDate>Tue, 23 Jul 2013 08:22:41 +0800</pubDate><description><![CDATA[一般来说，虚拟机的进程和线程都是和目标机器本地操作系统的进程和线程一一对应的，这样的好处是可以使本地操作系统来调度进程和线程。
        
        Dalvik虚拟机运行在Linux操作系统之上。Linux操作系统并没有纯粹的线程概念，只要两个进程共享一个地址空间，那么就可以认为它们是同一个进程的两个线程。Linux系统提供了两个fork和clone调用，其中，前者是用来创建进程]]></description><category></category></item><item><title><![CDATA[Dalvik虚拟机的本地调用（JNI）]]></title><link>https://blog.youkuaiyun.com/newjerryj/article/details/9404229</link><guid>https://blog.youkuaiyun.com/newjerryj/article/details/9404229</guid><author>newjerryj</author><pubDate>Mon, 22 Jul 2013 08:37:33 +0800</pubDate><description><![CDATA[虚拟机都是运行在目标机器之上的，它需要将自己的指令翻译成为目标机器指令来执行，并且有些功能，需要通过调用目标机器运行的操作系统接口来完成。这就需要一个机制，使得函数调用可以从Java层穿越到Native层，也就是C/C++层。 这种机制就称为Java本地调用，即JNI。  当然，在Native代码中，有时候也需要调用到Java函数，同样也是可以通过JNI机制来实现。


     实际上，D]]></description><category></category></item><item><title><![CDATA[Dalvik虚拟机的垃圾收集机制]]></title><link>https://blog.youkuaiyun.com/newjerryj/article/details/9402425</link><guid>https://blog.youkuaiyun.com/newjerryj/article/details/9402425</guid><author>newjerryj</author><pubDate>Sun, 21 Jul 2013 23:47:49 +0800</pubDate><description><![CDATA[垃圾收集机制是Java虚拟机共有的特性， 这里介绍Dalvik虚拟机的垃圾收集机制特点。
      
     在android2.3之前，有以下几个特点：
           1.  垃圾收集线程在执行的时候，其它线程都停止。
           2.  一次收集完全部的垃圾
           3.  一次垃圾收集通常造成用户程序中断100ms以上
     
     ]]></description><category></category></item><item><title><![CDATA[Dalvik虚拟机的内存管理]]></title><link>https://blog.youkuaiyun.com/newjerryj/article/details/9391371</link><guid>https://blog.youkuaiyun.com/newjerryj/article/details/9391371</guid><author>newjerryj</author><pubDate>Sun, 21 Jul 2013 15:39:10 +0800</pubDate><description><![CDATA[Dalvik虚拟机的内存分为三种类型： Java Object Heap,    Bitmap Memory,   Native Heap.    下面，就这三种类型进行详细讲解：
      
    一.    Java Object Heap:
     Java Object Heap是用来分配Java对象的，代码中new出来的Java对象都在Java Object Heap中。 J]]></description><category></category></item><item><title><![CDATA[Dalvik虚拟机的优化机制]]></title><link>https://blog.youkuaiyun.com/newjerryj/article/details/9391243</link><guid>https://blog.youkuaiyun.com/newjerryj/article/details/9391243</guid><author>newjerryj</author><pubDate>Sat, 20 Jul 2013 15:31:43 +0800</pubDate><description><![CDATA[Dalvik虚拟机设计作为Android系统定制虚拟机， 在移动设备上运行，必须要比普通的Java虚拟机有更多的优化手段和机制， 以下就列举出其中主要的一些优化机制：
         1. 使用dex格式的类文件，可以讲多个类存储在一个dex文件中，多个类中的重复字符串和常数等只保留一次，节约了空间。
  
         2. 基于寄存器的指令集， 提前优化后，执行速度更快。]]></description><category></category></item><item><title><![CDATA[《Head First 设计模式》读书笔记之1：设计模式入门（策略模式）]]></title><link>https://blog.youkuaiyun.com/newjerryj/article/details/8928553</link><guid>https://blog.youkuaiyun.com/newjerryj/article/details/8928553</guid><author>newjerryj</author><pubDate>Wed, 15 May 2013 08:15:28 +0800</pubDate><description><![CDATA[用一个鸭子模拟游戏为例子，开始我们的设计模式学习之旅。
 
首先，我们需要设计各种鸭子的父类，包含有鸭子的共同特征和行为：
Duck
quack()
swim()
display()
....    //鸭子的其他行为特征
 
后来，PM（产品经理）需要鸭子具有飞行的行为，于是我们觉得很自然得让父类Duck加入了fly()方法， 子类通过继承父类，就都具有了飞行的行为。]]></description><category></category></item><item><title><![CDATA[获取Android各类系统相关信息的接口实现代码]]></title><link>https://blog.youkuaiyun.com/newjerryj/article/details/8852405</link><guid>https://blog.youkuaiyun.com/newjerryj/article/details/8852405</guid><author>newjerryj</author><pubDate>Thu, 25 Apr 2013 23:58:40 +0800</pubDate><description><![CDATA[/**
   *  获取系统中所有安装包信息
   */
	public String getAllPackages(Context context)
	{
		String appList = "";
		List packages = context.getPackageManager().getInstalledPackages(0);
		for (PackageInfo packageI]]></description><category></category></item><item><title><![CDATA[Java内存泄露的理解与解决]]></title><link>https://blog.youkuaiyun.com/newjerryj/article/details/8844451</link><guid>https://blog.youkuaiyun.com/newjerryj/article/details/8844451</guid><author>newjerryj</author><pubDate>Wed, 24 Apr 2013 14:00:27 +0800</pubDate><description><![CDATA[Java内存管理机制



在C++语言中，如果需要动态分配一块内存，程序员需要负责这块内存的整个生命周期。从申请分配、到使用、再到最后的释放。这样的过程非常灵活，但是却十分繁琐，程序员很容易由于疏忽而忘记释放内存，从而导致内存的泄露。Java语言对内存管理做了自己的优化，这就是垃圾回收机制。Java的几乎所有内存对象都是在堆内存上分配（基本数据类型除外），然后由GC（garbage co]]></description><category></category></item><item><title><![CDATA[Android入门开发之SD卡读写操作]]></title><link>https://blog.youkuaiyun.com/newjerryj/article/details/8829179</link><guid>https://blog.youkuaiyun.com/newjerryj/article/details/8829179</guid><author>newjerryj</author><pubDate>Sun, 21 Apr 2013 12:16:21 +0800</pubDate><description><![CDATA[SD卡的读写是我们在开发android 应用程序过程中最常见的操作。下面介绍SD卡的读写操作方式：
   
   1. 获取SD卡的根目录

 String  sdCardRoot = Environment.getExternalStorageDirectory().getAbsolutePath(); 




   2. 在SD卡上创建文件夹目录

	/**
	 * 在]]></description><category></category></item><item><title><![CDATA[Android入门开发之SAX]]></title><link>https://blog.youkuaiyun.com/newjerryj/article/details/8749688</link><guid>https://blog.youkuaiyun.com/newjerryj/article/details/8749688</guid><author>newjerryj</author><pubDate>Thu, 18 Apr 2013 08:57:31 +0800</pubDate><description><![CDATA[一. SAX简介


   SAX,  Simple API for XML, 是一个解析速度快并且占用内存少的XML解析器，适合于移动平台。 它同时既是一种接口，也是指一个软件包。 作为接口，SAX是事件驱动型XML解析的一个标准接口， 也就是说它不需要解析完整个文档，采用相应的事件触发来进行回调处理。
 
二 . SAX的原理
  SAX的工作原理，简单说就是对文档进行顺序扫描，当]]></description><category></category></item><item><title><![CDATA[Android入门开发之 Handler使用]]></title><link>https://blog.youkuaiyun.com/newjerryj/article/details/8740457</link><guid>https://blog.youkuaiyun.com/newjerryj/article/details/8740457</guid><author>newjerryj</author><pubDate>Tue, 16 Apr 2013 00:31:30 +0800</pubDate><description><![CDATA[Android提供了一个异步的消息回调机制Handler,  它负责发送消息和处理线程消息队列中的消息及runnable对象 
   Handler实例都是与一个线程和该线程的消息队列一起使用，一旦创建了一个新的handler实例，系统就把该实例与一个线程和该线程的消息队列捆绑起来，这将可以发送消息和runnable对象给该消息队列，并在消息队列出口处处理它们。
     Handler默认使]]></description><category></category></item><item><title><![CDATA[解决ios6系统输入法bug的一种方法]]></title><link>https://blog.youkuaiyun.com/newjerryj/article/details/8792008</link><guid>https://blog.youkuaiyun.com/newjerryj/article/details/8792008</guid><author>newjerryj</author><pubDate>Fri, 12 Apr 2013 10:39:00 +0800</pubDate><description><![CDATA[可能大家经常遇到在ios6上，在app中切换到系统中文输入法，锁屏，再解锁，造成app  crash ,  如下图crash log：
  


   这是属于ios6系统级别的bug. 


   一种有效的解决办法：在AppDelegate 的WillEnterBackGround中，先隐藏键盘 
      [[[UIApplication sharedApplication]]></description><category></category></item><item><title><![CDATA[Android的permission大全]]></title><link>https://blog.youkuaiyun.com/newjerryj/article/details/8754205</link><guid>https://blog.youkuaiyun.com/newjerryj/article/details/8754205</guid><author>newjerryj</author><pubDate>Wed, 03 Apr 2013 09:03:25 +0800</pubDate><description><![CDATA[感谢原作者， 原文地址：http://blog.youkuaiyun.com/DAGiGi/article/details/6157361


android.permission.ACCESS_CHECKIN_PROPERTIES
允许读写访问”properties”表在checkin数据库中，改值可以修改上传(
 Allows read/write access to the “properti]]></description><category></category></item><item><title><![CDATA[Eclipse代码自动辅助提示功能的设置]]></title><link>https://blog.youkuaiyun.com/newjerryj/article/details/8687078</link><guid>https://blog.youkuaiyun.com/newjerryj/article/details/8687078</guid><author>newjerryj</author><pubDate>Mon, 18 Mar 2013 14:42:04 +0800</pubDate><description><![CDATA[默认情况下，Eclipse的代码自动提示功能比较弱， 只是在.和Alt+/才会出现。 可以通过如下设置，增加其提示功能的方便性


   Eclipse->Window->Preferences


 


在上图中设置Auto activation triggers  forJava的字母， 可以设置.abcdef.......ABCDEF.....(哈哈，26个字母的大小写)]]></description><category></category></item><item><title><![CDATA[Eclipse 编辑代码字体的设置]]></title><link>https://blog.youkuaiyun.com/newjerryj/article/details/8683727</link><guid>https://blog.youkuaiyun.com/newjerryj/article/details/8683727</guid><author>newjerryj</author><pubDate>Mon, 18 Mar 2013 01:23:03 +0800</pubDate><description><![CDATA[安装Eclipse后，编辑代码，默认的字体都比较偏小，而且汉字格外的小。  通过以下方法，设置Eclipse字体。
      1.  Eclipse->window->General->Appearance->Colors and Fonts-> Text Font,   如下图
         


    2.   双击TextColor进入编辑，选择自己喜欢的字体即可， 我个人]]></description><category></category></item><item><title><![CDATA[Android定制JVM—Dalvik虚拟机简介]]></title><link>https://blog.youkuaiyun.com/newjerryj/article/details/8681553</link><guid>https://blog.youkuaiyun.com/newjerryj/article/details/8681553</guid><author>newjerryj</author><pubDate>Sat, 16 Mar 2013 17:17:42 +0800</pubDate><description><![CDATA[Dalvik虚拟机是Google等厂商合作开发的Android系统专一的虚拟机，它是Android系统的核心组成部分之一。
 Dalvik虚拟机支持已转换为.dex格式的java应用程序的运行。 .dex格式是专为Dalvik设计的一种压缩格式，适合内存和处理器速度有限的系统。
   Dalvik 经过优化，允许在有限的内存中同时运行多个虚拟机的实例，并且每一个Dalvik 应用作为一个独立的]]></description><category></category></item><item><title><![CDATA[ios工程中使用sqlite3方法]]></title><link>https://blog.youkuaiyun.com/newjerryj/article/details/8679279</link><guid>https://blog.youkuaiyun.com/newjerryj/article/details/8679279</guid><author>newjerryj</author><pubDate>Fri, 15 Mar 2013 19:01:26 +0800</pubDate><description><![CDATA[1. 头文件添加 sqlite3.h


2. 库文件添加 libsqlite3.dylib



添加方法：点击工程名->targets->Build Phases->Link Binary With Libraries->'+'号->输入文件名libsqlite3.dylib->选中，点击add。




3. 使用代码示例
    NSFileManager* fi]]></description><category></category></item><item><title><![CDATA[xcode模拟器调试无法显示调用栈的解决办法]]></title><link>https://blog.youkuaiyun.com/newjerryj/article/details/8674704</link><guid>https://blog.youkuaiyun.com/newjerryj/article/details/8674704</guid><author>newjerryj</author><pubDate>Thu, 14 Mar 2013 19:32:18 +0800</pubDate><description><![CDATA[使用xcode进行模拟器调试时，出现crash后，很多时候往往无法显示出正确的调用栈信息， 往往只能显示最初始的main函数调用，类似下图1


      图 1


    有个简单的解决办法如下：
       xcode->view->Navigators->Show Breakpoint Navigator,  在右下角的添加 Add Exception Breakpoin]]></description><category></category></item><item><title><![CDATA[在非ARC工程中加入ARC代码文件的方法]]></title><link>https://blog.youkuaiyun.com/newjerryj/article/details/8663924</link><guid>https://blog.youkuaiyun.com/newjerryj/article/details/8663924</guid><author>newjerryj</author><pubDate>Tue, 12 Mar 2013 15:23:52 +0800</pubDate><description><![CDATA[在非ARC工程里面必须配置编译选项  Target->Build Phases->Compile Sources  对应的ARC代码文件添加 -fobjc-arc 编译选项]]></description><category></category></item><item><title><![CDATA[一些有用的device信息，可能有些是私有API]]></title><link>https://blog.youkuaiyun.com/newjerryj/article/details/8650867</link><guid>https://blog.youkuaiyun.com/newjerryj/article/details/8650867</guid><author>newjerryj</author><pubDate>Fri, 08 Mar 2013 15:18:41 +0800</pubDate><description><![CDATA[原文地址：http://hi.baidu.com/marktian/item/e0f555ee0e08b2225a2d64e0




1. 手机号码：
这个也是undocument api

NSString* phoneNumber = CTSettingCopyMyPhoneNumber();




2. 总磁盘大小：
NSDictionary *fattrib]]></description><category></category></item></channel></rss>