自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 退避算法的定义

退避算法:    退避算法是在在单个信道的基于竞争的介质的一种访问控制(MAC)协议。每当一个以上的节点在同一时刻试图访问介质的时候,它会导致分组碰撞。如果相撞的节点试图再次访问信道,在节点做及时同步的时候数据包将发生碰撞。因此,节点需要时间位差。为了产生这种位差,退避算法(例如二进制指数退避(BEB)) 。例如,在BEB算法中,每当一个节点的传输涉及在与另一个节点的传输发生碰撞,两个节点

2013-02-14 23:29:04 4444

翻译 android开发省电之--Determining and Monitoring the Connectivity Status(根据网络连接状况去省电)

原文详见:http://developer.android.com/training/monitoring-device-state/connectivity-monitoring.html    通常在开发中设置一些计划的任务,比如重复闹钟,后台定时启动的任务等。但是如果我们的网络没有连接上,那么就没有必要启动那些需要连接网络的任务。    我们可以使用ConnectivityManag

2013-02-14 16:13:35 1529

翻译 Loading Views On Demand[按需加载View]

原文详见:http://developer.android.com/training/improving-layouts/loading-ondemand.html有时一些很复杂的视图却又很少用到。如果我们在需要的时候再载入,这样可以减少内存的使用并且给用户带来流畅的体验。Define a ViewStub :ViewStub是一个轻量级的view,没有占有空间,没有花费d

2013-02-14 13:43:39 1689

原创 erlang的语言功能特点

1.1. 高并发1.进程Erlang的最小执行单元是进程,进程的最大特点是隔离性好,(有自己的独立内存空间,Crash不会影响其他工作单元)。Erlang的进程特点2. 协程自己控制执行切换高效。由于不频繁切换系统上下文(页表等),效率比直接使用OS的高。3. 成本极低一个Erlang进程,默认

2013-02-13 18:34:36 2703

原创 菜鸟也能解决android中的OOM问题

只要你记住下面几个原则,在android 中处理图片的OOM问题绝对是easy之极:1.超大图片要按比例压缩之后才做显示,退出当前activity 必须回收 public static Bitmap decodeSampledBitmapFromResource(Resources res, int resId, int reqWidth, int req

2013-02-13 10:43:20 7592 4

原创 关于android framework相关的一些看法之--再封装

看到不少人在创建android工程之后,又在上面做了不少功夫,封装之后再封装。或许是为了实现他们永远无法抛弃的"MVC"模式,又或者是离不开所谓的“内裤(类库)”王子的梦想,抑或是抱着创新搏人眼球。总之,这伙兄弟无所不用奇迹。回过头来,我们试想一下,framework的核心作用什么呢--避免重复制造轮子。假设当初这些套件不是用“JAVA+大量的设计模式”,而是采用C/C++,现在的an

2013-02-13 10:23:54 1721

原创 TCP连接终止协议

建立一个连接需要三次握手,而终止一个连接要经过4次握手。这由T C P的半关闭(h a l f -c l o s e)造成的。既然一个T C P连接是全双工(即数据在两个方向上能同时传递),因此每个方向必须单独地进行关闭。这原则就是当一方完成它的数据发送任务后就能发送一个F I N来终止这个方向连接。当一端收到一个F I N,它必须通知应用层另一端几经终止了那个方向的数据传送。发送F I N通常是

2013-02-12 23:53:54 1781

原创 TCP三次握手

为了建立一条T C P连接:1) 请求端(通常称为客户)发送一个S Y N段指明客户打算连接的服务器的端口,以及初始序号(I S N,在这个例子中为1 4 1 5 5 3 1 5 2 1)。这个S Y N段为报文段1。2) 服务器发回包含服务器的初始序号的S Y N报文段(报文段2)作为应答。同时,将确认序号设置为客户的I S N加1以对客户的S Y N报文段进行确认。一个S Y N将占用

2013-02-12 23:20:53 2292

原创 TCP的头部

首部长度给出首部中32 bit字的数目。需要这个值是因为任选字段的长度是可变的。这个字段占4 bit,因此T C P最多有6 0字节的首部。然而,没有任选字段,正常的长度是2 0字节。在T C P首部中有6个标志比特。它们中的多个可同时被设置为1。U R G 紧急指针( u rgent pointer)有效。A C K 确认序号有效。P S H 接收方应该尽快将这个

2013-02-12 22:47:46 1910

原创 常见协议在TCP/IP层中的分布

2013-02-12 21:32:41 2183

翻译 androidUi优化之--通过include标签来重用布局

通过来重用布局 虽然Android提供了大量的控件来提供小的可重用的交互元素,但你也需要重用更大的元素,急需要一个特定的布局。为了有效重用完整的布局,你可以使用和标签来将另一个布局包含到当前的布局中。重用布局是非常好强大的,它允许你创建复杂的可重用布局。例如,一个yes/no的按钮面板,或是一个有描述文本的进度条。这意味着布局中任意类型的元素都可以被抽取出来单独处理,然后被包含到每

2013-02-12 14:07:56 2032

原创 android编程省电篇--网络更新方式

定期更新的最佳频率将取决于设备的状态,网络连接,用户的行为和明确的用户喜好。优化电池寿命,讨论了如何通过在基于主机设备的状态来修改其刷新频率,打造高效电池的应用程序。包括当你失去连接后禁用后台服务更新以及在电池电量低的时候减少更新的速度。在这里会介绍更新频率是多少才会使得更新操作对无线电状态机的影响最小。利用推送信息来替换电子邮件服务每次app去向server询问检查是否有更新

2013-02-12 13:21:40 3402

原创 IOS风格的日期控件(Time picker)

效果如下:项目地址: http://code.google.com/p/android-wheel/另外可参看android系统自带的Time picker: http://developer.android.com/guide/topics/ui/controls/pickers.html

2013-02-12 12:33:13 4061

翻译 Processing Bitmaps Off the UI Thread [在非UI线程处理Bitmap]

原文详见:http://developer.android.com/training/displaying-bitmaps/process-bitmap.html我们知道了BitmapFactory.decode* 方法,当数据源是网络或者是磁盘时(或者是任何实际源不在内存的),这些方法都不应该在main、UI线程中执行。那些情况下加载数据是不可以预知的,它依赖于许多因素(从网络或者硬

2013-02-12 11:27:24 2506

原创 android中去掉listview某人选中高亮状态

去除选中item时的高亮效果(默认橙黄色)方法:android:listSelector="@android:color/transparent"等同于使用:android:listSelector=”#00000000″

2013-02-11 21:23:29 7576 1

原创 解决android中软件盘弹出导致的控件位置问题

解决软键盘出现后,把原来Activity的布局给顶上去的方法是:在mainfest.xml中,对相应Activity加:android:windowSoftInputMode="adjustPan|stateHidden">

2013-02-11 21:18:36 3543

原创 android中去掉EditText的自动焦点获取

方法:将EditText的父级控设置成:android:focusable="true"  android:focusableInTouchMode="true"

2013-02-11 20:56:54 7155

原创 android中aidl接口的作用

1.多个应用程序之间建立共同的服务机制;2.通过AIDL在不同应用程序之间达到数据的共享和数据相互操作;3.一句话,主要是用于多应用之间的数据交互(而 在单个应用内或者说该应用如果不需要和其它第三方应用进行交互则不需要实现aidl接口);

2013-02-11 10:37:17 5649

原创 android中检查action对应的intent是否存在

public boolean isIntentExisting(Context context, String action) { final PackageManager packageManager = context.getPackageManager(); final Intent intent = new Intent(action); List re

2013-02-10 20:42:24 5942 1

原创 android中常见图片处理方法

public class ImageTool { public static final int LEFT = 0; public static final int RIGHT = 1; public static final int TOP = 3; public static final int BOTTOM = 4; /** */ /**

2013-02-10 18:20:27 2811

原创 如何选择android app开发的方式

主流的手机开发方式有:native  Appandroid手机系统本地开发语言java、NDK实现,运行速度快、用户交互性特别强,界面也很酷。Web 应用直接通过手机浏览器访问,可通过 HTML5 来访问一些基本的手机功能,开发和维护都非常简单。混合 App这是一种结合前两者的应用架构方式,相当于在 Web 上用一个本地 app 的壳进行封装,其复杂度介于前二者之间,有专门的框

2013-02-10 18:01:38 5195

翻译 androidUI开发之-优化你的布局层次结构

我们可能有一个共同的误区:那就是认为使用基本的Layout结构是最有效的。但是,每一个添加到系统的组件都需要初始化,进行布局,绘制的过程。比如,使用在LinearLayout里面使用子组件会导致一个过于deep的层级结构。而且内嵌使用包含layout_weight属性的LinearLayout会在绘制时花费昂贵的系统资源,因为每一个子组件都需要被测量两次。在使用ListView与GridView的

2013-02-10 09:15:28 2917

原创 我在Tieto的一次介绍

My name is Andy. It is nearly one year since I joined in Tieto. I act as the software engineer. Being a member of Tieto, I tried to adapt myself to the new circumstance and the new culture. As we all

2013-02-08 12:53:27 2209

原创 一些关于分布式技术的资源

技术:1)redis持久化集群解决方案,包括高可用、数据一致性、单点问题的解决方案2)  ZooKeeper的深入了解3) JDK7的G1和CMSGC4)  rpc调用的成熟解决方案,分布式系统间调用基础(包括协议的选择如ProtocolBuffer/Thrift,通讯框架选择如Netty/Grizzly)资源:1)NoSQL数据库的分布式算法2)   分布式设计与开发

2013-02-05 22:02:16 870

原创 存储整合的常见三种方式

从存储在多个服务器上转变为存储在单个服务器上。此模式可以降低管理工作的复杂l生和对数据中心占地面积的要求;直接将多个异构型服务器附加到一个存储设备上。此模式极大降低了存储成本,同时也可 以简化管 理 ;整合到存储 局域 网上。此模式既有利于提高工作效率,降低管理工作的复杂性,同时还可以提高可扩展性,可用性和数据可访问性。

2013-02-05 21:48:53 613

原创 分布式计算中的缺陷

分布式计算也并不是万能的,其中还存在诸多的缺陷和弊端:兼容性问题目前,几乎所有的分布式计算技术都没有完整的统一的标准,虽然已开始这方面的工作,标准的缺乏使得分布式计算技术研究分散,很难形成稳定的研究方向,从而在很大程度上制约了分布式计算技术的发展。因此,彼此之间的互通、互联的兼容性是一个巨大的问题。领域问题虽然说分布式技术诞生已久,但是推广和应用仍然是在发展的过程当

2013-02-05 21:44:49 1046

原创 常见分布式计算技术

中间件技术中间件作为构建,是分布式系统中介于应用层和网络层的一个功能层次,它能够屏蔽操作系统(或网络协议)的差异,实现分布式异构系统之间的互通或互操作。分布式 应用软件借助这种软件在不同的域之间共享资源。中间件位于客户机服务器的操作系统之上,管理计算资源和网络通信。它扩展了C/S结构,形成了一个包括客 户端、中间件和服务器的多层结构。基于中间件的分布式计算技术以中间件为桥梁,通过把

2013-02-05 19:20:34 4811

翻译 android背景优化

当程序的数据有改变的时候就需要更新屏幕,这个时候我们就采用invalidata方法。这个方法简单方便,而当我们调用这个方法的时候我们整个视 图都发生了更新。而我们的数据一般情况下只是在某一个区域内做出改变,这个时候我们再去更新其他没有数据改变的区域就很浪费资源。这个时候我们考虑如何优 化。解决办法Android提供系统了两个局部更新数据的方法:invalidate(Rect dirty

2013-02-05 12:26:17 1004

原创 窗口管理

在android中真正展示给用户的是view,而activity则是负载在android中所其的作用主要是处理一些逻辑问题,比如生命周期的管理、建立窗口等。在谈到窗口管理时,有必要先说下ViewManager这个接口,这个接口主要有以下的实现子接口和实现类,分别是:WindowManager和ViewGroup里面还有三个重要的方法:     1)addView();      2)u

2013-02-05 12:18:32 579

原创 View的更新原理

我知道android的view布局是树形布局的。子View需要刷新的自身界面的时候,把需求告诉父亲,则父View负责刷新、布局显示子View,从上到下。public void invalidate() { final ViewParent p = mParent; final AttachInfo ai = mAttachInfo; if (p != null &

2013-02-05 10:47:54 548

翻译 给android开发者的几个建议

1)首先要有良好的编码习惯  一个优秀的开发者应该善于运用常识、完善的算法和标准设计模式。要有资源意识,打开了就要记得关闭,尽量做到晚获取,早释放。这些由来已久的编码准则同样适用Android应用开发,尤其是使用基础设备服务时。  2)让阻塞操作远离主UI线程  通过使用AsyncTask、线程、IntentService和自定义后台服务,保证应用的灵活性。使用加载工具简化

2013-02-05 10:28:06 1093

原创 android上代码去执行"su"命令

执行“su”命令有一个前提,那就是手机被root过或者是手机里面的busybox支持“su”命令,否则会执行失败。具体实现代码如下:import java.io.BufferedReader;import java.io.DataInputStream;import java.io.DataOutputStream;import java.io.IOException;im

2013-02-05 10:09:52 26312

原创 并行和并发

并发性是指两个或多个事件在同一时间间隔内发生。同时性是指两个或多个事件在同一时刻发生。二者的概念:幷发的实质是一个物理CPU(也可以多个物理CPU)在若干道程序之间多路复用,并发性是对有限物理资源强制行驶多用户共享以提高效率。并发性是关于软件过程分解成进程、线程并处理相关的效率、原子性、同步和调度问题。实现幷发技术的关键之一是如何对系统内的多个活动(进程)进行切换。并行性指的是两个或两个以上的事件

2013-02-01 22:52:15 2744

原创 go语言的主要特性

1.自动垃圾回收;2.更丰富的内置类型;3.函数多返回值;4.错误处理;5.匿名函数和闭包;6.类型和接口;7.并发编程;8.反射;9.语言交互性;

2013-02-01 21:40:35 669

原创 几个很老的erlang开源项目

1、Disco 是一个实现了Map-Reduce 的框架,采用 Erlang + Python 开发开发语言: ErLang Python 项目主页: http://discoproject.org/ 文档地址: http://discoproject.org/doc/ 下载地址: http://discoproject.org/download.html2、压力测试工具,

2013-01-30 22:32:48 4762

原创 windows下golang环境搭建

1.下载windows golang运行环境(根据你的操作系统选择相应的包) http://code.google.com/p/gomingw/downloads/list  2.解压运行环境缩到 d:\Software\go目录下 3.然后安装 eclipse go 插件:http://goclipse.googlecode.com/svn/trunk/g

2013-01-30 00:06:50 7433

原创 android中WindowManager BadTokenException的处理小结

1.Popup window使用时出现解决办法:不要在onCreate里面直接创建Popup window应延时或者在onAttachedToWindow里面创建;2.dialog 使用时出现当存在activity嵌套(tabhost, activitygroup)context要使用getParent;3.dialog 使用时出现注意判断activity是否finish(is

2013-01-25 13:11:34 2759 1

原创 豆瓣和javaeye以前在性能上的一些对比

一台Web服务器运行Lighttpd,每天处理2500万个request,峰值每秒处理1000个request; 一台应用服务器运行Python,每天处理500万PV; 数据库服务器运行MySQL,负载情况没有介绍。 我对比了一下JavaEye网站的服务器运行情况,我们是一台Web+应用服务器,一台数据库服务器,如下: Web服务器运行Lighttpd,每天处理430万个r

2013-01-21 01:17:16 3884 1

翻译 web服务器和应用服务器的区别

原文详见:http://www.javaworld.com/javaqa/2002-08/01-qa-0823-appvswebserver.htmlweb服务器传送(serves)页面使浏览器可以浏览,然而应用程序服务器提供的是客户端应用程序可以调用的方法(CGI)。确切一点,你可以说:Web服务器专门处理HTTP请求(request),但是应用程序服务器是通过很多协议来为应用程序提供商业逻

2013-01-20 23:38:44 6149 2

原创 android在EditText 中插入表情图片

//SpannableString连续的字符串,长度不可变,同时可以附加一些object;可变的话使用SpannableStringBuilder,参考sdk文档SpannableString ss = new SpannableString(getText().toString()+"[smile]"); //得到要显示图片的资源 Drawable d = getResources()

2013-01-20 22:54:20 4721

android加载sd卡上没安装的apk的类

android加载sd卡上没安装的apk的activity

2012-12-18

enif项目源代码

网络接口和图片缓存框架+整个框架的使用的代码例子

2012-11-22

android上的soap裁剪包

android上的soap裁剪包,另外可以参见我的csdn上的文章;

2012-11-18

android资源清理工具

该工具,可以清理12种工程里面不用的资源,在维护项目和长期开发的项目里面,为了减小开发和维护难度,以及减小apk包的大小,作用突出,效果明显。

2012-08-31

gallery无限循环

详见:http://blog.csdn.net/androidzhaoxiaogang/article/details/6936324

2011-11-04

button在底部的多个view切换<实例三触摸和点击实现3D切换>

button在底部的多个view切换<实例三触摸和点击实现3D切换> 3d动画

2011-09-28

button在底部的多个view切换优化之<实例二3D切换>

1.将View的操作借助一个单实例的MainViewmanager分离开来; 2.实现真正意义上的MVC; 3.继续使用原来的索引也即表驱动的方式来管理view的添加和删除等;

2011-09-27

多个button互相切换view<实例二3D切换>

代码精简,结构清晰,使用了include标签,希望对大家有帮助;另外实现了3D旋转动画。

2011-09-21

多个button互相切换view<实例一>

代码精简,结构清晰,使用了include标签,希望对大家有帮助。

2011-09-21

空空如也

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

TA关注的人

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