`
dengbaoleng
  • 浏览: 1162248 次
文章分类
社区版块
存档分类
最新评论
文章列表
invalidate()是用来刷新View的,必须是在UI线程中进行工作。比如在修改某个view的显示时,调用invalidate()才能看到重新绘制的界面。invalidate()的调用是把之前的旧的view从主UI线程队列中pop掉。 一个Android 程序默认情况下也只有一个进程,但一个进程下却可以有许多个线程。在这么多线程当中,把主要是负责控制UI界面的显示、更新和控件交互的线程称为UI线程,由于onCreate()方法是由UI线程执行的,所以也可以把UI线程理解为主线程。其余的线程可以理解为工作者线程。 invalidate()得在UI线程中被调动,在工作者线程中可以通过Handl ...
碰到数组排序时,好多人自己写冒泡排序,这样即费事又不一定好,官方给我们提供了一个很简单的方式,又快又好的排序数组。 首先,实现接口Comparator。 private class ComparatorByDate implements Comparator<String>{ @Override public int compare(String lhs, String rhs) { SimpleDateFormat sdf=new SimpleDateFormat("yyyyMMdd_HHmmss"); try { ...
有时为了适配机型,我们需要动态更新组件的大小,为了达到在不同机型同样的效果。 通过设置LayoutParams就可以达到这个效果。 ImageView pictureView = (ImageView) convertView.findViewById(R.id.picture_view); ViewGroup.LayoutParams layoutParams=holder.picture.getLayoutParams(); layoutParams.width = 1024; layoutParams.height = 768; pictureView.setLayoutParams( ...
android系统的手机在系统底层指定了堆内存的上限值,大部分手机的缺省值是16MB,不过也有些高配置的机型是24MB的,所以我们的程序在申请内存空间时,为了确保能够成功申请到内存空间,应该保证当前已分配的内存加上当前需要分配的内存值的总大小不能超过当前堆的最大内存值。由于内存管理上将外部内存完全当成了当前堆的一部分,也就是说Bitmap对象通过栈上的引用来指向堆上的Bitmap对象,而堆上的Bitmap对象又对应了一个使用了外部存储的native图像,也就是实际上使用的字节数组byte[]来存储的位图信息,因此解码之后的Bitmap的总大小就不能超过8M了。
好久没写C/c++了,明天有个小比赛,然后找了一道超水的题来练手,结果很悲剧。。。虽然是1AC,解题书路就是用数组模仿个链表。。。。 /* * ===================================================================================== * * Filename: test.cpp * * Description: * * Version: 1.0 * Created: 04/06/2012 08:09:29 PM * Revisi ...
原文链接:http://www.cnblogs.com/soroman/archive/2006/10/12/526163.html 在http://blog.donews.com/wanderpoet/archive/2005/07/04/453608.aspx 看到一篇关于Gimbal Lock的E文,解释得挺清楚的,翻译如下: Gimbal Lock What's Gimbal Lock? Gimbal lock is the phenomenon of two rotational axis of an object pointing in the same ...
首先效果图: 然后是分别建立三个文件,第一个是main.class,第二个是SlipButton.class,第三个是onchangeListener.class main.class importAndroid.app.Activity;<wbr><wbr><br> import Android.os.Bundle;<wbr><wbr><br> importAndroid.widget.Toast;<wbr><wbr><br><wbr><wbr> ...
在cmd中执行: C:\>hh.exe -decompile c:\在放置生成文件的目录 c:\chm文件.chm 注明:QQ技术交流群:108614806 感兴趣的加一下。 要是有Android开发者上广告平台的,请找米迪手机广告平台客服,QQ:1135796906 谨个人推荐,绝无他意。
Java堆内存的10个要点 2012-02-20 09:01 | 10887次阅读 | 【已有0条评论】发表评论 来源:伯乐在线 | 收藏到我的网摘 导读:对于程序员来说,知道堆空间,设置堆空间,处理堆空间的outOfMemoryError错误,分析heap dump是非常重要的 ...
PriorityQueue是个基于优先级堆的极大优先级队列 <wbr>。<br><strong><wbr>此队列按照在构造时所指定的顺序对元素排序,既可以根据元素的自然顺序来指定排序(参阅Comparable),<br> 也可以根据Comparator来指定</wbr></strong><wbr>,这取决于使用哪种构造方法。优先级队列不允许null元素。<br> 依靠自然排序的优先级队列还不允许插入不可比较的对象(这样做可能导致ClassCastException)。<br&g ...
手机客户端程序由于网络宽带的约束,尤其在GPRS网络环境下,大数据量的网络交互很大程度上降低应用的响应,影响用户体验。比如,如果做一个手机网盘客户端,在后台上传文件时(大数据量的交互),获取文件列表(命令类的 ...
很多人都说“Java完了,只等着衰亡吧!”,为什么呢?最简单的的例子就是Java做的系统时非常占内存!一听到这样的话,一定会有不少人站出来为Java辩护,并举出一堆的性能测试报告来证明这一点。其实从理论上来讲Java做的系统并 ...
什么是对齐,以及为什么要对齐: 现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定变量的时候经常在特定的内存地址访问,这就需要各类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个的排放,这就是对齐。 对齐的作用和原因:各个硬件平台对存储空间的处理上有很大的不同。一些平台对某些特定类型的数据只能从某些特定地址开始存取。其他平台可能没有这种情况,但是最常见的是如果不按照适合其平台要求对数据存放进行对齐,会在存取效率上带来损失。比如有些平台每次读都是从偶地址开始,如果一个int型(假设为32位系统)如果存放在偶地址开始的地 ...
虽然使用静态变量可以传递任何类型的数据,但官方并不建议这样做。如果在类中有大量使用静态变量(尤其是使用很占资源的变量,例如,Bitmap对象)可能会造成内存溢出异常,而且还可能因为静态变量在很多类中出现而造成代码难以维护和混乱,因此,用全局对象可以进行传递,这种方式可以完全取代静态变量。 Android中的全局对象作用域:除非将Android程序彻底清除出内存,否则全局对象将一直可以访问。 1.首先建一个全局类: package cn.jiabin.demo.view; import android.app.Application; public class MyApplica ...
git clone https://android.googlesource.com/device/common.git git clone https://android.googlesource.com/device/google/accessory/arduino.git git clone https://android.googlesource.com/device/google/accessory/demokit.git git clone https://android.googlesource.com/device/htc/common.git git clone https:/ ...
Global site tag (gtag.js) - Google Analytics