自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(37)
  • 资源 (9)
  • 收藏
  • 关注

转载 Java编程中“为了性能”需做的26件事

最近的机器内存又爆满了,除了新增机器内存外,还应该好好review一下我们的代码,有很多代码编写过于随意化,这些不好的习惯或对程序语言的不了解是应该好好打压打压了。下面是参考网络资源总结的一些在Java编程中尽可能要做到的一些地方。1.尽量在合适的场合使用单例使用单例可以减轻加载的负担,缩短加载的时间,提高加载的效率,但并不是所有地方都适用于单例,简单来说,单例主要适用于以下三个方面:

2014-12-22 17:52:34 783

原创 Cygwin的替代软件Gow

Gow是一个轻量级的Cygwin替代软件,它能做的事情是给Liunx软件提供一个Windows系统上的运行环境。Gow是Gnu On Windows的缩写,它跟传统的具有相同功能的Cygwin软件比起来的特点是体积小,Cygwin动辄能达到上百种,而它的体积不到10MB,但里面却集成了Liunx环境下130多种实用工具软件,其中包括:Shell 环境:bash, zsh压缩工具: gz

2014-12-22 00:14:02 2498

原创 Android中JNI调用过程简述

1.安装和下载cygwin,下载Android NDK;2.在ndk项目中JNI接口的设计;3.使用C/C++实现本地方法;4.JNI生成动态链接库.so文件;5.将动态链接库复制到java工程,在Java工程中调用,运行Java工程即可。

2014-12-22 00:11:45 17762 1

原创 JNI/NDK开发指南(2)

1.生成动态库.so,存放于手机的system/lib/中(APP如何将.so存入该目录,奇怪?????),Java层调用JNI的类会执行静态代码System.loadLibrary("***")将手机的system/lib目录中的动态库加载到VM。2..so动态库里,C组件开发者通过JNI_OnUnload()函数进行初始化。当然,老版的JNI是没有JNI_OnUnload()函数的

2014-12-22 00:08:18 1991

原创 自定义控件(3):view的绘制原理

自定义UI控件,需继承 View类或View的子类,并重载View类中的一些方法,不必都重载,但至少要重载onDraw( )。类别方法描述CreationConstructors onFinishInflate()当View和它的所有子对象从XML中导入之后,调用此方法

2014-12-22 00:06:10 3311

原创 自定义控件(2.3):SurfaceView和SurfaceHolder

本例需求及流程:Activity加载自定义的SurfaceView-> SurfaceView 构造器中:初始化画笔、传感器、SurfaceHolder并注册SurfaceHolder的监听(surfaceCreated和surfaceDestroyed)->创建surface即surfaceCreated时:注册传感器监听,初始化Ball(包括球的图片、位置、活动区域),启动线程并循环执行(

2014-12-22 00:04:27 1774 1

原创 自定义控件(2.2):SurfaceView和SurfaceHolder

本例需求及流程:Activity加载自定义的SurfaceView-> SurfaceView 构造器中启动线程A,循环改变SurfaceView的x,y坐标,当x,y坐标到某点时设渐显标志位picAlphaFlag为true -> Surface创建时即surfaceCreated中,启动线程B,循环根据SurfaceView的x,y(被线程A循环改变)实时绘制图的位置,并且picAlpha

2014-12-21 23:59:55 1116

原创 自定义控件(2.1):SurfaceView和SurfaceHolder

SurfaceView是视图(View)的继承类,这个视图里内嵌了一个专门用于绘制的Surface。你可以控制这个Surface的格式和尺寸。Surfaceview控制这个Surface的绘制位置。        surface是纵深排序(Z-ordered)的,这表明它总在自己所在窗口的后面。surfaceview提供了一个可见区域,只有在这个可见区域内 的surface部分内容才可见,

2014-12-21 23:53:41 994

原创 自定义控件(1):目的和简介

自定义控件有多种用途,例如:1.动态绘制控件宽、高;2.改变原生控件显示效果,如将slidingdrawer的content的一半显示出来;3.图形编程实现动画效果,如摇一摇手机后小球碰撞等等。

2014-12-21 23:52:42 792

原创 BroadcastReceiver那些事儿

BroadcastReceiver所对应的广播分两类:普通广播和有序广播。1.普通广播:        通过Context.sendBroadcast()方法来发送,所有的receivers接收器接收broadcast的顺序不确定。这种方式效率更高,但是BroadcastReceiver无法使用setResult系列,getResult系列及abort系列API。2.有序广播:

2014-12-21 19:07:24 926

原创 Java随笔

- 如果希望自定义类能与集合库正常协同工作,一定要在覆盖equals()方法同时,也覆盖hashcode()方法,使2个对象用equals()方法判断相等时,用hashcode()方法判断也相等(即返回相等的整数);- String和原始数据的封装类型都是不可变类;

2014-12-21 18:33:24 713

原创 各种List、Map、Set的比较

List:1.ArrayList:2.Vector:其方法都是同步的,除非需要同步的场合,否则基本被其同门师弟ArrayList替代;3.Stack:实现了先入后出;4.LinkedListMap:1.HashMap2.LinkedHashMap3.TreeMap4.Hashtable:其方法都是同步的,除非需要同步的场合,否则基本被其同门师弟Has

2014-12-21 11:49:32 1194

原创 Android数据库读写套件

1.SqliteDatBase类;2.SqliteOpenHelper类;3.ContentValues类,应用示例:ContentValues values = new ContentValues(); values.put(Images.Media.TITLE, fileName); values.put("_data", fileName); values.put(Imag

2014-12-20 22:49:20 684

原创 Android监听数据表(ContentObserver)

private ContentObserver mDownloadsObserver = new DownloadsChangeObserver(Downloads.CONTENT_URI);private class DownloadsChangeObserver extends ContentObserver { public DownloadsChangeObserver(

2014-12-20 21:13:25 609

原创 Android界面刷新

Android程序中可以使用的界面刷新方法有两种,分别是利用Invalidate和利用postInvalidate()来实现在线程中刷新界面。1.利用Handler刷新界面:    Invalidate不能直接在子线程中调用,因为他是违背了单线程模型:Android UI操作并不是线程安全的,并且这些操作必须在UI线程中调用。实例化一个Handler对象,并重写handleMessage方

2014-12-20 20:50:52 1044

原创 Android工程中怎样使用隐藏API

使用android 隐藏api的前提:我们需要得到Android系统源码编译输出的一个文件out\\target\\common\\obj\\JAVA_LIBRARIES\\framework_intermediates\\classes.jar这个包里面包含所有的系统api, 隐藏的, 公开的添加 jar方法右键功能菜单->Properties->Java Build Path

2014-12-20 20:07:54 1242

原创 Android下载文件的进度条提示(网络通信部分示例)

URL url = newURL(http://somewhere.com/some/webhosted/file);HttpURLConnectionurlConnection = (HttpURLConnection) url.openConnection(); urlConnection.setRequestMethod("GET"); urlConnection.set

2014-12-20 19:44:32 1252

原创 Android获取手机位置(LocationManager)

LocationManager lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE); List providers = lm.getProviders(true); /* Loop over the array backwards, and if you get an accurate location, the

2014-12-20 19:17:32 1372

原创 Android IPC 系列(2.3):AIDL

Aidl默认支持的类型包话java基本类型(int、long、boolean等)和(String、List、Map、CharSequence),如果要传递自定义的类型该如何实现呢?要传递自定义类型,首先要让自定义类型支持parcelable协议,实现步骤如下: 1>自定义类型必须实现Parcelable接口,并且实现Parcelable接口的public void writeToPar

2014-12-20 17:40:30 673

原创 连接数据线到PC报“failed to start daemon”

解决:中止360手机助手等进程,若中止不掉可以先卸载。

2014-12-20 06:51:46 989

原创 activity切屏时的生命周期

1.不设置activity的android:configChanges时,切屏会重新调用各个生命周期,切横屏时会执行一次,切竖屏时会执行两次;2.设置activity的android:configChanges=“orientation”时, 切屏会重新调用各个生命周期,切横屏、竖屏时都只会执行一次,但是竖屏最后多打印一条onConfigurationChanged();3.设置activ

2014-12-19 18:20:26 900

原创 系统上安装了多种浏览器,能否指定某浏览器访问指定页面?

答:通过直接发送Uri把参数带过去,或者通过manifest里的intentfilter里的data属性。代码如下:Intent intent = new Intent();Intent.setAction(“android.intent.action.View”);Uri uriBrowsers = Uri.parse(“http://www.sina.com.cn”);Inte

2014-12-19 17:47:59 3377

原创 什么是ANR,如何避免?

答:ANR的定义:在android上,如果你的应用程序有一段时间响应不移灵敏,系统会向用户提示“应用程序无响应”(ANR:application Not Responding)对话框。因此,在程序里对响应性能的设计很重要,这样,系统不会显示ANR给用户。如何避免:首先来研究下为什么它会在android的应用程序里发生和如何最佳构建应用程序来避免ANR.android应用程序通常

2014-12-19 17:41:24 2114

原创 Android中的MVC

1) 视图层(View):一般采用XML文件进行界面的描述,使用的时候可以非常方便的引入,当然,如何你对Android了解的比较的多了话,就一定可以想到在Android中也可以使用JavaScript+HTML等的方式作为View层,当然这里需要进行Java和JavaScript之间的通信,幸运的是,Android提供了它们之间非常方便的通信实现。2) 控制层(Controller):Andr

2014-12-19 13:19:23 1179 1

原创 Android常用方法

onWindowFocusChanged方法调用时机:1.创建时首次呈现在用户面前;2.当前Activity被其他Activity覆盖;3.当前Activity转到其他Activity或按Home键回到主屏,自身退居后台;4.用户退出当前Activity;

2014-12-19 10:32:40 984

转载 Android不同APP间共享数据:sharedUserId

Android-sharedUserId数据权限  Android给每个APK进程分配一个单独的用户空间,其manifest中的userid就是对应一个Linux用户(Android系统是基于Linux)的.所以不同APK(用户)间互相访问数据默认是禁止的.但是它也提供了2种APK间共享数据的形式:1. Share Preference. / Content Provi

2014-12-17 20:32:06 8568 1

转载 Android之四种加载方式

Android之四种加载方式(http://marshal.easymorse.com/archives/2950 图片)在多Activity开发中,有可能是自己应用之间的Activity跳转,或者夹带其他应用的可复用Activity。可能会希望跳转到原来某个Activity实例,而不是产生大量重复的Activity。这需要为Activity配置特定的加载模式,而不是使用默认的加载

2014-12-17 16:37:05 998 1

原创 Android内存优化的几种代码处理

以下为Androi内存优化的几种代码处理,示例代码,仅供参考:•1. 生成Bitmap:InputStream is =this.getResources().openRawResource(R.drawable.pic1);     BitmapFactory.Options options=newBitmapFactory.Options();     options.inJu

2014-12-17 11:56:30 1186

原创 Android内存问题的几种解决方案(二)

针对上一篇文 Android内存问题的集中解决方案(一) 中第6点“尽量不要使用setImageBitmap、setImageResource或BitmapFactory.decodeResource来设置大图”的详细说明如下:

2014-12-17 10:15:16 716

原创 Android内存问题的几种解决方案(一)

一般我们在遇到内存问题时,解决方案大体有如下几种:1.在内存引用上做些处理,常用的有软引用、强化引用、弱引用;2.在内存中加载图片时直接在内存中做处理,如:边界压缩;3.动态回收内存;4.优化Dalvik虚拟机的堆内存分配;5.自定义堆内存大小;6.尽量不要使用setImageBitmap、setImageResource或BitmapFactory.decodeResou

2014-12-17 10:09:28 936

原创 Android开发策略:缓存

去服务器端下载图片,如果下载成功了,放入到sdcard上,并使用,如果失败了,应该有重试机制。比如3次。

2014-12-17 10:00:24 888

原创 Android 内存管理

Activity中的对象生命周期勿大于Activity的生命周期,生命周期长的内部类使用静态内部类;

2014-12-15 23:45:12 1182

原创 Java中a=a+b 与 a+=b区别

一般认为a=a+b的执行效率是低于a+=b的,因为它多进行了一步中间变量的操作,而且会多占用一个变量的空间。而Java编译器默认对其进行了优化,优化之后两条语句都当做 a+=b来执行了,所以实际上是没有任何却别的。

2014-12-15 22:14:06 2201 1

原创 线程相关

原子性:操作是不可分割的,就说这个操作是原子操作。比如a++; 这个操作实际是a = a + 1;是可分割的,所以他不是一个原子操作。非原子操作都会存在线程安全问题,需要我们使用同步技术(sychronized)来让它变成一个原子操作。java的concurrent包下提供了一些原子类,比如:AtomicInteger、AtomicLong、AtomicReference等。可见性:是指线程之

2014-12-15 20:38:54 704

原创 Java的方法绑定

1.程序绑定:绑定指的是一个方法的调用与方法所在的类(方法主体)关联起来。对java来说,绑定分为静态绑定和动态绑定;或者叫做前期绑定和后期绑定2.静态绑定(前期绑定/编译期绑定):在程序执行前方法已经被绑定,此时由编译器或其它连接程序实现。例如:C。针对java简单的可以理解为程序编译期的绑定;这里特别说明一点,java当中的方法只有final,static,private和构造

2014-12-15 19:32:48 5284 1

原创 Java内联函数

1.内联函数就是指函数在被调用的地方直接展开,编译器在调用时不用像一般函数那样,参数压栈,返回时参数出栈以及资源释放等,这样提高了程序执行速度。 2.Java语言中有一个关键字final来指明那个函数是内联的,例: public final void doSomething() {  // to do something}        该方法在被调用时,会在调用处直接展开

2014-12-15 18:33:10 2533

原创 Class ref in pre-verified class resolved to unexpected implementation

报错场景:插件开发中,先在插件中引用某jar包后,将插件放入宿主运行,结果报此错; 原因分析:宿主与插件引用了相同的jar包,造成重复引用。去掉后问题解决!

2014-12-04 11:43:51 10021 2

SurfaceView示例2

本例需求及流程: Activity加载自定义的SurfaceView-> SurfaceView 构造器中:初始化画笔、传感器、SurfaceHolder并注册SurfaceHolder的监听(surfaceCreated和surfaceDestroyed)->创建surface即surfaceCreated时:注册传感器监听,初始化Ball(包括球的图片、位置、活动区域),启动线程并循环执行(根据摇一摇的加速度判断球将来坐标是否越界,越界则改变速度方向即反弹,未越界则设定将来坐标,将球绘制到新的坐标上)

2014-12-22

surfaceview动画示例

本例需求及流程: Activity加载自定义的SurfaceView-> SurfaceView 构造器中启动线程A,循环改变SurfaceView的x,y坐标,当x,y坐标到某点时设渐显标志位picAlphaFlag为true -> Surface创建时即surfaceCreated中,启动线程B,循环根据SurfaceView的x,y(被线程A循环改变)实时绘制图的位置,并且picAlphaFlag为true时,渐显另一张图。

2014-12-21

AIDL和远程Service调用实现音乐播放器

本例除了将音乐放在后台播放外,还实现了Activity中显示一个进度条,这个进度条要跟着Service中的MediaPlayer中的歌曲进度同步向前走,而且如果我点击进度条中的某一个位置,就让歌曲跳转到相应时间点继续播放。

2013-12-10

《设计模式之禅》真正完整版

本人上传资源皆完整版,您值得拥有!可放心下载!

2013-09-30

Struts2入门v3.0.pdf

Struts2入门必看,适合繁忙之余,信手拈来。

2011-07-13

JavaScript使用手册.chm

JavaScript使用手册.chm 方便好用

2011-07-13

SQL for Oracle

物超所值,分很多章介绍ORACLE中的SQL语句,每章独立成为一个PDF。值得一看。

2010-04-15

Oracle.SQL必备参考.pdf

较详尽的SQL语法介绍。共8章,415页。

2010-04-15

软件设计师考试大纲与培训指南(2009版)

较新的软考(软件设计师)大纲与培训指南,帮助你知道所需学习的科目。此考试有一定难度,要准备较多知识,但只要用心努力,通过不是很难。

2010-04-01

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除