??xml version="1.0" encoding="utf-8" standalone="yes"?>快乐12玩法:BlogJava - 四川福利彩票快乐12快乐12开奖直播快乐12开奖辽宁福彩快乐12快乐彩12选5走势图//www.ot7t.com.cn/zygcs/java项目随笔zh-cnSat, 20 Oct 2018 11:18:19 GMTSat, 20 Oct 2018 11:18:19 GMT60 收藏 JNI串口通信多文件调用时异常 - 四川福利彩票快乐12快乐12开奖直播快乐12开奖辽宁福彩快乐12快乐彩12选5走势图//www.ot7t.com.cn/zygcs/archive/2013/03/05/396100.html龚椿?/dc:creator>龚椿?/author>Tue, 05 Mar 2013 11:26:00 GMT//www.ot7t.com.cn/zygcs/archive/2013/03/05/396100.html//www.ot7t.com.cn/zygcs/comments/396100.html//www.ot7t.com.cn/zygcs/archive/2013/03/05/396100.html#Feedback0//www.ot7t.com.cn/zygcs/comments/commentRss/396100.html//www.ot7t.com.cn/zygcs/services/trackbacks/396100.html阅读全文

]]>
launcher修改--修改launcher的屏幕数 - 四川福利彩票快乐12快乐12开奖直播快乐12开奖辽宁福彩快乐12快乐彩12选5走势图//www.ot7t.com.cn/zygcs/archive/2013/02/25/395699.html龚椿?/dc:creator>龚椿?/author>Mon, 25 Feb 2013 07:07:00 GMT//www.ot7t.com.cn/zygcs/archive/2013/02/25/395699.html//www.ot7t.com.cn/zygcs/comments/395699.html//www.ot7t.com.cn/zygcs/archive/2013/02/25/395699.html#Feedback0//www.ot7t.com.cn/zygcs/comments/commentRss/395699.html//www.ot7t.com.cn/zygcs/services/trackbacks/395699.html首先,在Launcher.java代码中,?25?/span>

  1. static final int SCREEN_COUNT = 5;  
  2. static final int DEFAULT_SCREEN = 2;//第一页是?开始计数,这里是把第三个页面作为默认首?nbsp; 

第一个参数定义屏幕个数,第一个参数是默认的首页。在这里,你可以做出自己的修改。但是,仅这点修改,远远不够,我们看一下launcher.xml

  1. <com.android.launcher2.DragLayer  
  2.     xmlns:android="//schemas.android.com/apk/res/android"  
  3.     xmlns:launcher="//schemas.android.com/apk/res/com.android.launcher"  
  4.   
  5.     android:id="@+id/drag_layer"  
  6.     android:layout_width="match_parent"  
  7.     android:layout_height="match_parent">  
  8.   
  9.     <include layout="@layout/all_apps" />  
  10.   
  11.     <!-- The workspace contains 3 screens of cells -->  
  12.     <com.android.launcher2.Workspace  
  13.         android:id="@+id/workspace"  
  14.         android:layout_width="match_parent"  
  15.         android:layout_height="match_parent"  
  16.         android:scrollbars="horizontal"  
  17.         android:fadeScrollbars="true"  
  18.         launcher:defaultScreen="2">  
  19.   
  20.         <include android:id="@+id/cell1" layout="@layout/workspace_screen" />  
  21.         <include android:id="@+id/cell2" layout="@layout/workspace_screen" />  
  22.         <include android:id="@+id/cell3" layout="@layout/workspace_screen" />  
  23.         <include android:id="@+id/cell4" layout="@layout/workspace_screen" />  
  24.         <include android:id="@+id/cell5" layout="@layout/workspace_screen" />  
  25.   
  26.     </com.android.launcher2.Workspace>  

我们可以看到 导入了五个workspace_screen,在这里,参照你上面修改的参数,添加或者删除workspace_screen。在这里,你可能也注意到?/span>

  1. launcher:defaultScreen="2">  

在这里定义的defaultScreen?/span>

同时,要修改workspace.java?80

  1. mDefaultScreen = a.getInt(R.styleable.Workspace_defaultScreen, 1);  

和res/xml文件中default_workspace做出相应的修改。这样就基本上可以了?/span>



]]>
android jni之C ?C++ 函数实现的比?/title><link>//www.ot7t.com.cn/zygcs/archive/2013/01/30/394953.html</link><dc:creator>龚椿?/dc:creator><author>龚椿?/author><pubDate>Wed, 30 Jan 2013 10:44:00 GMT</pubDate><guid>//www.ot7t.com.cn/zygcs/archive/2013/01/30/394953.html</guid><wfw:comment>//www.ot7t.com.cn/zygcs/comments/394953.html</wfw:comment><comments>//www.ot7t.com.cn/zygcs/archive/2013/01/30/394953.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>//www.ot7t.com.cn/zygcs/comments/commentRss/394953.html</wfw:commentRss><trackback:ping>//www.ot7t.com.cn/zygcs/services/trackbacks/394953.html</trackback:ping><description><![CDATA[<p style="margin: 0px; padding: 0px; color: #454545; font-family: Tahoma, Helvetica, Arial, STHeiti; background-color: #ffffff; "><strong class="yibqv">代码?/strong></p><ol style="margin: 0px 0px 0px 35px; padding: 0px; list-style-position: initial; list-style-image: initial; color: #454545; font-family: Tahoma, Helvetica, Arial, STHeiti; background-color: #ffffff; "><li style="margin: 0px; padding: 0px; "><p style="margin: 0px; padding: 0px; "><strong class="yibqv"> <span style="text-decoration: underline; ">jclass test_class = env->GetObjectClass(obj);</span></strong></p></li><li style="margin: 0px; padding: 0px; "><p style="margin: 0px; padding: 0px; "><strong class="yibqv"><span style="text-decoration: underline; "> jfieldID id_num = env->GetFieldID(test_class, "num", "I");</span></strong></p></li></ol><p style="margin: 0px; padding: 0px; color: #454545; font-family: Tahoma, Helvetica, Arial, STHeiti; background-color: #ffffff; "><strong class="yibqv">编译错误提示?/strong></p><p style="margin: 0px; padding: 0px; color: #454545; font-family: Tahoma, Helvetica, Arial, STHeiti; background-color: #ffffff; ">/home/miyuehu/work/WebJsTest/jni/jnitest.c:22: <strong class="yibqv">error: request for member 'GetObjectClass' in something not a structure or union<br /></strong>/home/miyuehu/work/WebJsTest/jni/jnitest.c:23: <strong class="yibqv">error: request for member 'GetFieldID' in something not a structure or union</strong></p><p style="margin: 0px; padding: 0px; color: #454545; font-family: Tahoma, Helvetica, Arial, STHeiti; background-color: #ffffff; "> </p><p style="margin: 0px; padding: 0px; color: #454545; font-family: Tahoma, Helvetica, Arial, STHeiti; background-color: #ffffff; "><strong class="yibqv">注意:jni.h头文件中对于***.c  &  ***.cpp采用不同的定?/strong></p><p style="margin: 0px; padding: 0px; color: #454545; font-family: Tahoma, Helvetica, Arial, STHeiti; background-color: #ffffff; "><strong class="yibqv"><br />jclass (JNICALL *GetObjectClass)   (JNIEnv *env, jobject obj);</strong></p><p style="margin: 0px; padding: 0px; color: #454545; font-family: Tahoma, Helvetica, Arial, STHeiti; background-color: #ffffff; "><strong class="yibqv">jclass GetObjectClass(jobject obj) {<br />        return functions->GetObjectClass(this,obj);<br />    }</strong></p><p style="margin: 0px; padding: 0px; color: #454545; font-family: Tahoma, Helvetica, Arial, STHeiti; background-color: #ffffff; "> </p><p style="margin: 0px; padding: 0px; color: #454545; font-family: Tahoma, Helvetica, Arial, STHeiti; background-color: #ffffff; "><strong class="yibqv">对于***.c</strong></p><ol style="margin: 0px 0px 0px 35px; padding: 0px; list-style-position: initial; list-style-image: initial; color: #454545; font-family: Tahoma, Helvetica, Arial, STHeiti; background-color: #ffffff; "><li style="margin: 0px; padding: 0px; "><p style="margin: 0px; padding: 0px; ">jclass test_class = (*env)->GetObjectClass(env, obj);</p></li><li style="margin: 0px; padding: 0px; "><p style="margin: 0px; padding: 0px; ">jfieldID id_num = (*env)->GetFieldID(env, test_class, "num", "I");</p></li></ol><p style="margin: 0px; padding: 0px; color: #454545; font-family: Tahoma, Helvetica, Arial, STHeiti; background-color: #ffffff; "> </p><p style="margin: 0px; padding: 0px; color: #454545; font-family: Tahoma, Helvetica, Arial, STHeiti; background-color: #ffffff; "> </p><p style="margin: 0px; padding: 0px; color: #454545; font-family: Tahoma, Helvetica, Arial, STHeiti; background-color: #ffffff; ">对于<strong class="yibqv"> ***.cpp</strong></p><ol style="margin: 0px 0px 0px 35px; padding: 0px; list-style-position: initial; list-style-image: initial; color: #454545; font-family: Tahoma, Helvetica, Arial, STHeiti; background-color: #ffffff; "><li style="margin: 0px; padding: 0px; "><p style="margin: 0px; padding: 0px; ">jclass test_class = env->GetObjectClass(obj); </p></li><li style="margin: 0px; padding: 0px; "><p style="margin: 0px; padding: 0px; ">jfieldID id_num = env->GetFieldID(test_class, "num", "I"); </p></li></ol><p style="margin: 0px; padding: 0px; color: #454545; font-family: Tahoma, Helvetica, Arial, STHeiti; background-color: #ffffff; "> </p><p style="margin: 0px; padding: 0px; color: #454545; font-family: Tahoma, Helvetica, Arial, STHeiti; background-color: #ffffff; ">?nbsp;C 中,</p><p style="margin: 0px; padding: 0px; color: #454545; font-family: Tahoma, Helvetica, Arial, STHeiti; background-color: #ffffff; ">JNI 函数调用?#8220;(*env)->”作前缀,目的是为了取出函数指针所引用的值?/p><p style="margin: 0px; padding: 0px; color: #454545; font-family: Tahoma, Helvetica, Arial, STHeiti; background-color: #ffffff; ">?nbsp;C++ 中,</p><p style="margin: 0px; padding: 0px; color: #454545; font-family: Tahoma, Helvetica, Arial, STHeiti; background-color: #ffffff; ">JNIEnv 类拥有处理函数指针查找的内联成员函数?/p><p style="margin: 0px; padding: 0px; color: #454545; font-family: Tahoma, Helvetica, Arial, STHeiti; background-color: #ffffff; ">下面将说明这个细微的差异,其中,这两行代码访问同一函数,但每种语言都有各自的语法?/p><p style="margin: 0px; padding: 0px; color: #454545; font-family: Tahoma, Helvetica, Arial, STHeiti; background-color: #ffffff; ">C 语法:jsize len = (*env)->GetArrayLength(env,array);</p><p style="margin: 0px; padding: 0px; color: #454545; font-family: Tahoma, Helvetica, Arial, STHeiti; background-color: #ffffff; ">C++ 语法:jsize len =env->GetArrayLength(array);</p><img src ="//www.ot7t.com.cn/zygcs/aggbug/394953.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="//www.ot7t.com.cn/zygcs/" target="_blank">龚椿?/a> 2013-01-30 18:44 <a href="//www.ot7t.com.cn/zygcs/archive/2013/01/30/394953.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ANR超时时间的定?. - 四川福利彩票快乐12快乐12开奖直播快乐12开奖辽宁福彩快乐12快乐彩12选5走势图//www.ot7t.com.cn/zygcs/archive/2012/11/27/392094.html龚椿?/dc:creator>龚椿?/author>Tue, 27 Nov 2012 13:15:00 GMT//www.ot7t.com.cn/zygcs/archive/2012/11/27/392094.html//www.ot7t.com.cn/zygcs/comments/392094.html//www.ot7t.com.cn/zygcs/archive/2012/11/27/392094.html#Feedback0//www.ot7t.com.cn/zygcs/comments/commentRss/392094.html//www.ot7t.com.cn/zygcs/services/trackbacks/392094.htmlANR超时时间的定?/span>

android\frameworks\base\services\java\com\android\server\am\ActivityManagerService.java

1.       broadcast超时时间?/span>10?/span>

static final int BROADCAST_TIMEOUT = 10*1000;

2.       按键无响应的超时时间?/span>5?/span>

    static final int KEY_DISPATCHING_TIMEOUT = 5*1000;



]]>
Android编程之解决android-support-v4打包问题 - 四川福利彩票快乐12快乐12开奖直播快乐12开奖辽宁福彩快乐12快乐彩12选5走势图//www.ot7t.com.cn/zygcs/archive/2012/10/13/389516.html龚椿?/dc:creator>龚椿?/author>Sat, 13 Oct 2012 11:06:00 GMT//www.ot7t.com.cn/zygcs/archive/2012/10/13/389516.html//www.ot7t.com.cn/zygcs/comments/389516.html//www.ot7t.com.cn/zygcs/archive/2012/10/13/389516.html#Feedback0//www.ot7t.com.cn/zygcs/comments/commentRss/389516.html//www.ot7t.com.cn/zygcs/services/trackbacks/389516.html如果工程引入了Android-support-v4的jar类库,那么在工程打包混淆时,就会出现报错提示。例如提示你:You may need to specify additional library jars (using '-libraryjars')?/p>

这里先给出解决方案,稍后我们再来解释如何处理类似情况?/p>

在proguard.cfg里的后面,添加如下内容:

1.-libraryjars /android-support-v4.jar 
2.-dontwarn android.support.v4.** 
3.-keep class android.support.v4.** { *; }  4.-keep public class * extends android.support.v4.**  5.-keep public class * extends android.app.Fragment  然后你再打包看看,应该可以正常生成apk安装包了?/p>

打包出错?br />情况一?br /> "? can't find referenced class ?" 字面上的意思就是类1找不到类2的引用;它会建议你:"You may need to specify additional library jars (using '-libraryjars').";
需要使?libraryjars加上项目中使用到的第三方库就OK了?br />例如?libraryjars /android-support-v4.jar
注意:这里引用方式是当前工程的根目录(也可以配置其他目录),也就是说,你要把第三方jar放到当前目录下,否则就会警告说找不到jar文件?/p>

情况二:
例如?can't find superclass or interface android.os.Parcelable$ClassLoaderCreator,碰到这样的情况,可以使?dontwarn com.xx.yy.**,不对错误提出警告?br />注意:使用这个方式的话,要确保自己没有用到这个库里面的类!否则就会抛ClassNotFoundException?/p>

情况三:
在工程中确实用到了该类,采用上面方式还是不行。这个时候就要再增加一项:-keep class com.xx.yy.** { *;},让当前类不混淆?/p>

小结?br />对于引用第三方包的情况,可以采用下面方式避免打包出错?br />-libraryjars /aaa.jar
-dontwarn com.xx.yy.**
-keep class com.xx.yy.** { *;}

最后打包成功,还要在机子上跑跑,看看有没有问题?br />



原文链接?a >//www.linuxidc.com/Linux/2012-07/66798.htm

]]>
android Memory Management, OutOfMemoryError Note - 四川福利彩票快乐12快乐12开奖直播快乐12开奖辽宁福彩快乐12快乐彩12选5走势图//www.ot7t.com.cn/zygcs/archive/2012/09/29/388847.html龚椿?/dc:creator>龚椿?/author>Sat, 29 Sep 2012 07:53:00 GMT//www.ot7t.com.cn/zygcs/archive/2012/09/29/388847.html//www.ot7t.com.cn/zygcs/comments/388847.html//www.ot7t.com.cn/zygcs/archive/2012/09/29/388847.html#Feedback0//www.ot7t.com.cn/zygcs/comments/commentRss/388847.html//www.ot7t.com.cn/zygcs/services/trackbacks/388847.html1 

 

   Android框架强制每个进程?4 MB内存限制。在一些旧的设备,如在G1,限制为16 MB 更低,更重要的是,由位图使用的内存限制。处理图像的应用程序,它是很容易达到此限制,并获得与OOM 异常死亡 的过程:E / dalvikvm堆(12517):1048576字节外部分配这个 过程中过大的E / GraphicsJNI?2517): VM将不会让我们分配1048576字节 / AndroidRuntime?2517):关闭VM / dalvikvm?2517):主题ID = 1:线程未捕获的异常退出(集团= 0x4001d7f0 ?E / AndroidRuntime?2517):致命异常:主?电子/ AndroidRuntime?2517):java.lang.OutOfMemoryError:位图的大小超过VM的预?,这个限制是低得离谱 。设备,?12MB的物理RAM的Nexus之一,设置每个进程的前台活动只有5%的RAM的内存限制是一个愚蠢的错误 。但无论如何,事情是如何和我们生?即找到如何解决它?/font>

远远超过限制的内存分配方式有两种 ?/font>

  一种方法是从本机代码分配内?。使用NDK(本地开发工具包)和JNI,它可能从C级(如的malloc / free或新?删除)分配内存,这样的分配是不计入对24 MB的限?。这是真的,从本机代码分配内存是为从Java方便,但它可以被用来存储在RAM中的数据(即使图像数据)的一些大金额 ?/font>

  另一种方式,其中的作品以及图像的,是使用OpenGL的纹?纹理内存不计入限?/span> ,要查看您的应用程序确实分配多少内存可以使用android.os.Debug.getNativeHeapAllocatedSize??/span>,可以使用上面介绍的两种技术的Nexus之一,我可以轻松地为一个单一的前台进程分?00MB - 10倍以上的默认24 MB的限?,从上面来看使用navtive代码分配内存是不?4MB的限制内?/span>(开放的GL的质地也是使用navtive代码分配内存的) ?/font>

  每个 android 平台内存限制不一样,从最开始的 16M ?24M,以及后来的 32M?4M,或许以后会更大?/p>

  那如何获取单?app 内存限制大小呢?

  class : ActivityManager

ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
activityManager.getMemoryClass();

  当然,ActivityManager 不单单限与此,许多对 android 程序管理的工具,都来源与此,或者从这里进行扩展?/span> 

 


android不同设备单个进程可用内存是不一样的,可以查?system/build.prop文件?/span>

dalvik.vm.heapstartsize=5m
dalvik.vm.heapgrowthlimit=48m
dalvik.vm.heapsize=256m 

heapsize参数表示单个进程可用的最大内存,?/span>如果存在如下参数?/p>

dalvik.vm.heapgrowthlimit=48m表示单个进程内存被限定在48m,即程序运行过程中实际只能使用48m内存

android上的应用是java,当然需要虚拟机,而android上的应用是带有独立虚拟机的,也就是每开一个应用就会打开一个独立的虚拟机。这样设计的原因是可以避免虚拟机崩溃导致整个系统崩溃,但代价就是需要更多内存?span>以上这些设计确保了android的稳定性,正常情况下最多单个程序崩溃,但整个系统不会崩溃,也永远没有内存不足的提示出现?/span>


 在Android中,一个Process 只能使用16M内存(?),要是超过了这个限定就会跳出这个异?/p>

  For Android specific we should use the 'recycle' method rather than 'gc', because 'recycle' will free the memory at the same time, but calling 'gc' doesn't guaranty to run and free the memory for same time(if it is not too critical, we should not call gc in our code) and results can very every time.
One more thing using 'recycle' is faster than the 'gc' and it improves the performance.

即:bitmap.recycle();

  biamap=null;

效果要好?/p>

  biamap=null;

  system.gc();

通过DDMS中的Heap选项卡监视内存情况:

1.Heap视图中部有一个Type叫做data object,即数据对象,也就是我们的程序中大量存在的类类型的对象?/p>

2.在data object一行中有一列是“Total Size”,其值就是当前进程中所有Java数据对象的内存总量?/p>

如果代码中存在没有释放对象引用的情况,则data object的Total Size值在每次GC后不会有明显的回落,随着操作次数的增多Total Size的值会越来越大?br />  直到到达一个上限后导致进程被kill掉?/p>

2  今天刚遇到的情况:发现gridview的getview中使?/span>

复制代码
    @Override
        public View getView(int position, View convertView, ViewGroup parent) {
            final View GridItem = mInflater.inflate(R.layout.store_catg_item,null, false);
       TextView text = (TextView) GridItem.findViewById(R.id.store_catg_item_text);
            ImageView cover = (ImageView) GridItem.findViewById(R.id.store_catg_item_cover);
            Bitmap coverimg = ImageUtilities.getCachedCover(magaList
                    .get(position).id+ReaderConfigures.THUMB_SUFFIX_PLANE);
            String title;
            if(isCatg){
                title= magaList.get(position).category;
                text.setText(title.toUpperCase());
            }else{
                title= magaList.get(position).pubname;
                text.setVisibility(View.INVISIBLE);
            }
            GridItem.setTag(title);
            cover.setImageBitmap(coverimg);
            return GridItem;
        }
复制代码

 

滑动时内存会不断涨,直到OutOfMemory,使用Holder后便不会发生该请况,具体原因未仔细查找,标记一下?/p>

 1.对于常规开发者而言需要了?Java的四种引用方式,比如强引用,软引用,弱引用以及虚引用。一些复杂些的程序在长期运行很可能出现类似OutOfMemoryError的异常?br />
2.并不要过多的指望gc,不用的对象可以显示的设置为空,比如obj=null,java的gc使用的是一个有向图,判断一个对象是否有效看的是其他的对象能到达这个对象的顶点,有向图的相对于链表、二叉树来说开销是可想而知?br />
3.Android为每个程序分配的对内存可以通过Runtime类的totalMemory() freeMemory() 两个方法获取VM的一些内存信息,

Runtime.getRuntime().freeMemory();

Formatter.formatFileSize(BaseActivity.baseContext,Runtime.getRuntime().freeMemory()));//格式化输?/p>

对于系统heap内存获取,可以通过Dalvik.VMRuntime类的getMinimumHeapSize() 方法获取最小可用堆内存,同时显示释放软引用可以调用该类的gcSoftReferences() 方法,获取更多的运行内存?br />
4.对于多线程的处理,如果并发的线程很多,同时有频繁的创建和释放,可以通过concurrent类的线程池解决线程创建的效率瓶颈?br />
5. 不要在循环中创建过多的本地变量?/p>

3.

  The default heap size of android3.0 is 48M.Large background pictrue,button icon and the other pictrues used as ui all consume memory,and even if you have entered another activity,the resource of the previous activity still be keeped.So you had better not use the big pictrue in UI.

  在onDestroy中会?(BitmapDrawable)mBtn.getBackground()).setCallback(null)清理背景图。按道理来说图片资源应该已经清理掉了的。仔细看Bitmap的源代码,它其实起的作用是销毁java对象BitmapDrawable,?span style="color: #3366ff">android为了提高效率,Bitmap真正的位图数据是在ndk中用c写的,所以用setCallback是不能销毁位图数据的,应该调用Bitmap的recycle()来清理内存?/span>在onDestroy加上((BitmapDrawable)mBtn.getBackground()).getBitmap().recycle(),这样跑下来,内存情况很理想,不管在哪个activity中,使用的资源仅仅是当前activity用到的,就不会象之前到最后一个activity的时候,所有之前使用的资源都累积在内存中?/span>

  但新的问题又出现了,当返回之前的activity时,会出?#8220;try to use a recycled bitmap"的异常。这真是按了葫芦起了瓢啊,内心那个沮丧。。。没办法,继续分析。看来是后加上recycle引起的, 位图肯定在内存中有引用,在返回之前的activity时,因为位图数据其实已经被销毁了,所以才造成目前的情况。在看了setBackgroundResource的源码以后,恍然大悟,android对于直接通过资源id载入的资源其实是做了cache的了,这样下次再需要此资源的时候直接从cache中得到,这也是为效率考虑。但这样做也造成了用过的资源都会在内存中,这样的设计不是很适合使用了很多大图片资源的应用,这样累积下来应用的内存峰值是很高的。看了sdk后,我用?/p>

Bitmap bm = BitmapFactory.decodeResource(this.getResources(), R.drawable.splash);
BitmapDrawable bd = new BitmapDrawable(this.getResources(), bm);

mBtn.setBackgroundDrawable(bd);

来代替mBtn.setBackgroundResource(R.drawable.splash)?/p>

销毁的时候使用:

BitmapDrawable bd ?(BitmapDrawable)mBtn.getBackground();

mBtn.setBackgroundResource(0);//别忘了把背景设为null,避免onDraw刷新背景时候出现used a recycled bitmap错误

bd.setCallback(null);
bd.getBitmap().recycle();

这样调整后,避免了在应用里缓存所有的资源,节省了宝贵的内存,而其实这样也不会造成太大效率问题,毕竟重新载入资源是非常快速,不会对性能造成很严重的影响,在xoom里我没有感受到和之前有什么区别?/p>

总之,在android上使用大量位图是个比较痛苦的事,内存限制的存在对应用是个很大的瓶颈。但不用因噎费食,其实弄明白了它里面的机制,应用可以突破这些限制的。这只是其中的一种处理方法,还可以考虑BitmapFactory.Options的inSampleSize来减少内存占用?/p>

浏览大图的应用,可以使用JNI的方法加载图?/span>



引用://www.cnblogs.com/qiengo/archive/2012/04/25/2468372.html

]]>
修改android4.0 Launcher2 桌面的列数,行数 - 四川福利彩票快乐12快乐12开奖直播快乐12开奖辽宁福彩快乐12快乐彩12选5走势图//www.ot7t.com.cn/zygcs/archive/2012/09/25/388538.html龚椿?/dc:creator>龚椿?/author>Tue, 25 Sep 2012 13:14:00 GMT//www.ot7t.com.cn/zygcs/archive/2012/09/25/388538.html//www.ot7t.com.cn/zygcs/comments/388538.html//www.ot7t.com.cn/zygcs/archive/2012/09/25/388538.html#Feedback2//www.ot7t.com.cn/zygcs/comments/commentRss/388538.html//www.ot7t.com.cn/zygcs/services/trackbacks/388538.html
今天需要给客户修改桌面的图标排列方法,网上搜了好多资料,都是坑爹的没用的,千遍一律到处抄袭的?br />只好花点精力看看android源代码,


  packages/apps/Launcher2/src/com/android/launcher2/Workspace.java

    private static final int DEFAULT_CELL_COUNT_X = 6;  //   列数
    private static final int DEFAULT_CELL_COUNT_Y = 4;  //      行数

修改DEFAULT_CELL_COUNT_X,DEFAULT_CELL_COUNT_Y 即可?img src ="//www.ot7t.com.cn/zygcs/aggbug/388538.html" width = "1" height = "1" />

]]>
ubuntu10.04 使用 QT - 四川福利彩票快乐12快乐12开奖直播快乐12开奖辽宁福彩快乐12快乐彩12选5走势图//www.ot7t.com.cn/zygcs/archive/2012/09/17/387879.html龚椿?/dc:creator>龚椿?/author>Mon, 17 Sep 2012 03:44:00 GMT//www.ot7t.com.cn/zygcs/archive/2012/09/17/387879.html//www.ot7t.com.cn/zygcs/comments/387879.html//www.ot7t.com.cn/zygcs/archive/2012/09/17/387879.html#Feedback0//www.ot7t.com.cn/zygcs/comments/commentRss/387879.html//www.ot7t.com.cn/zygcs/services/trackbacks/387879.html
sudo aptitude install libqt3-headers libqt3-mt-dev libqt3-compat-headers  libqt3-mt




]]>
ubuntu 恢复gnome-panel - 四川福利彩票快乐12快乐12开奖直播快乐12开奖辽宁福彩快乐12快乐彩12选5走势图//www.ot7t.com.cn/zygcs/archive/2012/08/04/384753.html龚椿?/dc:creator>龚椿?/author>Sat, 04 Aug 2012 03:59:00 GMT//www.ot7t.com.cn/zygcs/archive/2012/08/04/384753.html//www.ot7t.com.cn/zygcs/comments/384753.html//www.ot7t.com.cn/zygcs/archive/2012/08/04/384753.html#Feedback0//www.ot7t.com.cn/zygcs/comments/commentRss/384753.html//www.ot7t.com.cn/zygcs/services/trackbacks/384753.html 

Ubuntu重启panel 的办?

起首进入终端?依次输入以下号令
1、gconftool --recursive-unset /apps/panel
2、rm -rf ~/.gconf/apps/panel
3、pkill gnome-panel

恢复收集经管图标
vi /etc/NetworkManager/nm-system-settings.conf
找到如下行:
managed=false
并批改为?br />managed=true


 



]]>
webview 报android.database.sqlite.SQLiteCantOpenDatabaseException - 四川福利彩票快乐12快乐12开奖直播快乐12开奖辽宁福彩快乐12快乐彩12选5走势图//www.ot7t.com.cn/zygcs/archive/2012/07/02/382023.html龚椿?/dc:creator>龚椿?/author>Mon, 02 Jul 2012 12:11:00 GMT//www.ot7t.com.cn/zygcs/archive/2012/07/02/382023.html//www.ot7t.com.cn/zygcs/comments/382023.html//www.ot7t.com.cn/zygcs/archive/2012/07/02/382023.html#Feedback0//www.ot7t.com.cn/zygcs/comments/commentRss/382023.html//www.ot7t.com.cn/zygcs/services/trackbacks/382023.html
07-02 19:47:38.950: E/SQLiteDatabase(969): Failed to open the database. closing it.
07-02 19:47:38.950: E/SQLiteDatabase(969): android.database.sqlite.SQLiteCantOpenDatabaseException: unable to open database file
07-02 19:47:38.950: E/SQLiteDatabase(969):  at android.database.sqlite.SQLiteDatabase.dbopen(Native Method)
07-02 19:47:38.950: E/SQLiteDatabase(969):  at android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:1013)
07-02 19:47:38.950: E/SQLiteDatabase(969):  at android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:986)
07-02 19:47:38.950: E/SQLiteDatabase(969):  at android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:962)
07-02 19:47:38.950: E/SQLiteDatabase(969):  at android.database.sqlite.SQLiteDatabase.openOrCreateDatabase(SQLiteDatabase.java:1043)
07-02 19:47:38.950: E/SQLiteDatabase(969):  at android.database.sqlite.SQLiteDatabase.openOrCreateDatabase(SQLiteDatabase.java:1036)
07-02 19:47:38.950: E/SQLiteDatabase(969):  at android.app.ContextImpl.openOrCreateDatabase(ContextImpl.java:778)
07-02 19:47:38.950: E/SQLiteDatabase(969):  at android.content.ContextWrapper.openOrCreateDatabase(ContextWrapper.java:215)
07-02 19:47:38.950: E/SQLiteDatabase(969):  at android.webkit.WebViewDatabase.initDatabase(WebViewDatabase.java:223)
07-02 19:47:38.950: E/SQLiteDatabase(969):  at android.webkit.WebViewDatabase.init(WebViewDatabase.java:209)
07-02 19:47:38.950: E/SQLiteDatabase(969):  at android.webkit.WebViewDatabase.access$000(WebViewDatabase.java:38)
07-02 19:47:38.950: E/SQLiteDatabase(969):  at android.webkit.WebViewDatabase$1.run(WebViewDatabase.java:190)
07-02 19:47:38.950: W/dalvikvm(969): threadid=12: thread exiting with uncaught exception (group=0x409e01f8)
07-02 19:47:38.970: E/AndroidRuntime(969): FATAL EXCEPTION: Thread-103
07-02 19:47:38.970: E/AndroidRuntime(969): java.lang.NullPointerException
07-02 19:47:38.970: E/AndroidRuntime(969):  at android.webkit.WebViewDatabase.initDatabase(WebViewDatabase.java:231)
07-02 19:47:38.970: E/AndroidRuntime(969):  at android.webkit.WebViewDatabase.init(WebViewDatabase.java:209)
07-02 19:47:38.970: E/AndroidRuntime(969):  at android.webkit.WebViewDatabase.access$000(WebViewDatabase.java:38)
07-02 19:47:38.970: E/AndroidRuntime(969):  at android.webkit.WebViewDatabase$1.run(WebViewDatabase.java:190)
07-02 19:47:38.970: W/ActivityManager(144):   Force finishing activity com.jw.Advertisement/.ADVActivity

想了很久不知道是哪里的问题?br />后来把原来的APK删除?重新安装APK ,居然好了?img src ="//www.ot7t.com.cn/zygcs/aggbug/382023.html" width = "1" height = "1" />

]]>