关闭

阻塞与非阻塞、同步与异步 I/O模型

I/O模型 Linux 下的五种I/O模型 阻塞I/O(blocking I/O) 非阻塞I/O (nonblocking I/O) I/O复用(select 和poll) (I/O multiplexing) 信号驱动I/O (signal driven I/O (SIGIO)) 异步I/O (asynchronous I/O (the POSIX ai...
阅读(7508) 评论(0)

Golang适合高并发场景的原因分析

典型的两个现实案例: 我们先看两个用Go做消息推送的案例实际处理能力。 360消息推送的数据: 16台机器,标配:24个硬件线程,64GB内存 Linux Kernel 2.6.32 x86_64 单机80万并发连接,load 0.2~0.4,CPU 总使用率 7%~10%,内存占用20GB (res) 目前接入的产品约1280万在线用户 2分钟一次GC,停顿2...
阅读(58527) 评论(6)

Android TouchEvent 分发流程

消息分发知识基础 动作序列的三个事件 TouchEvent 分三种事件:down、move、up。 其中move事件在一个操作中(这里说的一个操作就是用户与屏幕的交互,即由down到up的动作序列)可能会发生多次。  但是,我们认为一个动作序列会包含以上三种事件,因此,在事件处理中就是要处理好这个过程,而最重要的就是down事件,这是一个动作序列的起始,没有down谈不上后面的事件...
阅读(6812) 评论(0)

Jira数据备份

Jira系统管理中自带备份和导入功能,如下图: 但是你使用时会报错误: You have not named a safe backup directory and hence you are not allowed to make backups for security reasons. You must edit jira-application.properties and ex...
阅读(7470) 评论(1)

DES加密和解密PHP,Java,ObjectC统一的方法

PHP的加解密函数 pkcs5Pad ( $string, $size ); $data = mcrypt_encrypt(MCRYPT_DES, $this->key, $string, MCRYPT_MODE_CBC, $iv); $data = base64_encode($data); return $data; } function decrypt($string) { $ivArray=array(0x12, 0x34, 0x56, ...
阅读(9622) 评论(3)

Android 如何把AsyncTask改用非内部类

Android 中我们使用AsyncTask时,一般是把它当Activity的内部类来使用的。原因,这样可以简单的在更新进度onProgressUpdate 和 执行完成时onPostExecute, 直接操作Activity的界面元素控件。但是如果我们想让我们的代码职责更单一,功能划分更清晰,就最好不要用内部类,这时候我们可以借用 Handler 来实现这个需求。 有关 AsyncTask 的用法可以参看我写的这篇博客: http://www.cnblogs.com/ghj1976/archive/20...
阅读(7559) 评论(10)

Android AsyncTask

在有界面的Android应用中,后台异步执行一些事情是常见的场景,这时候我们从底层开始写起的话,就需要了解比较深层的东西,比如这篇文章“Android 的消息队列模型”提到的Looper、Handler、Message、MessageQueue。 Android为了降低这个开发难度,提供了AsyncTask。AsyncTask就是一个封装过的后台任务类,顾名思义就是异步任务。 AsyncTask直接继承于Object类,位置为android.os.AsyncTask。要使用AsyncTask工作我们要提...
阅读(4554) 评论(0)

演化理解 Android 异步加载图片

在学习"Android异步加载图像小结"这篇文章时, 发现有些地方没写清楚,我就根据我的理解,把这篇文章的代码重写整理了一遍,下面就是我的整理。 下面测试使用的layout文件: 简单来说就是 LinearLayout 布局,其下放了5个ImageView。 我们将演示的逻辑是异步从服务器上下载5张不同图片,依次放入这5个ImageView。上下2个TextView 是为了方便我们看是否阻塞了UI的显示。 当然 AndroidM...
阅读(5501) 评论(4)

Android Runnable 运行在那个线程

Runnable 并不一定是新开一个线程,比如下面的调用方法就是运行在UI主线程中的: Handler mHandler=new Handler(); mHandler.post(new Runnable(){ @Override public void run() { // TODO Auto-generated method stub } }); 官方对这个方法的解释如下,注意其中的:“The runnable will be run on the user in...
阅读(5913) 评论(1)

Android 的消息队列模型

Android 的消息队列模型 Android是参考Windows的消息循环机制来实现Android自身的消息循环的。 Android通过Looper、Handler来实现消息循环机制,Android消息循环是针对线程的(每个线程都可以有自己的消息队列和消息循环)。 Android系统中,Looper负责管理线程的消息队列和消息循环。我们可以通过Loop.myLooper()得到当前线程的Looper对象,通过Loop.getMainLooper()可以获得当前进程的主线程的Looper对象...
阅读(16055) 评论(14)

Android启动画面Splash

方法一,两个Activity 核心代码: package ghj1976.HelloWorld; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.os.Handler; public class SplashActivity extends Activity { private final int SPLASH_DISP...
阅读(5867) 评论(0)

Android到底那个Acitivity启动

启动那个Acitivity有两种方式:implicit(隐藏) intent 和 explicit(明确) intent Explicit Intent 明确的指定了要启动的Acitivity 比如以下Java代码,明确指定了要启动B: Intent intent= new Intent(this, B.class)    Implicit Intent 没有明确的指定要启动哪个Activity ,而是通过设置一些Intent Filter来让系统去筛选合适的Acitiv...
阅读(4785) 评论(1)

Android 任务共用性Affinity

建议首先阅读下面这篇文章,这样才能对本文有所了解: Android Application Task Activities的关系 http://www.cnblogs.com/ghj1976/archive/2011/04/29/2032412.html 尤其要明白 Task 是啥。   什么是Affinity 在某些情况下,Android需要知道一个Activity属于哪个Task,即使它没有被启动到一个具体的Task里。这是通过任务共用性(Affinities)完成的。任务共用性(Affi...
阅读(7710) 评论(2)

Android四种Activity的加载模式

建议首先阅读下面两篇文章,这样才可以更好的理解Activity的加载模式: Android的进程,线程模型 http://www.cnblogs.com/ghj1976/archive/2011/04/28/2031586.html 其中对“Android的单线程模型”的描述,明白Activity的一些注意事项。 Android Application Task Activities的关系 http://www.cnblogs.com/ghj1976/archive/2011/04/29...
阅读(18362) 评论(15)

Android Application Task Activities的关系

什么是Android  Application? 简单来说,一个apk文件就是一个Application。 任何一个Android Application基本上是由一些Activities组成,当用户与应用程序交互时其所包含的部分Activities具有紧密的逻辑关系,或者各自独立处理不同的响应。 这些Activities捆绑在一起成为了一个处理特定需求的Application, 并且以“.apk”作为后缀名存在于文件系统中。 Android平台默认下的应用程序 例如:Email、Calendar、...
阅读(4050) 评论(0)

Android的进程,线程模型

Android 包括一个应用程序框架、几个应用程序库和一个基于 Dalvik 虚拟机的运行时,所有这些都运行在 Linux 内核之上。 通过利用 Linux 内核的优势,Android 得到了大量操作系统服务,包括进程和内存管理、网络堆栈、驱动程序、硬件抽象层、安全性等相关的服务。   有关Java虚拟机跟进程,线程的关系请参看下面这篇文章: 进程、线程与JVM、CLR http://blog.csdn.net/ghj1976/archive/2010/04/13/5481038.aspx ...
阅读(4733) 评论(1)

Android 的Margin和Padding属性以及支持的长度单位

Android的Margin和Padding跟Html的是一样的。如下图所示:黄色部分为Padding,灰色部分为Margin。 通俗的理解 Padding 为内边框,Margin 为外边框 对应的属性为 android:layout_marginBottom="25dip" android:layout_marginLeft="10dip" android:layout_marginTop="10dip" android:layout_marginRight="10dip...
阅读(5306) 评论(1)

android:layout_gravity 和 android:gravity 的区别

gravity 这个英文单词是重心的意思,在这里就表示停靠位置的意思。 android:layout_gravity 和 android:gravity 的区别 从名字上可以看到,android:gravity是对元素本身说的,元素本身的文本显示在什么地方靠着换个属性设置,不过不设置默认是在左侧的。 android:layout_gravity是相对与它的父元素说的,说明元素显示在父元素的什么位置。 比如说button: android:layout_gravity 表示按钮在界面上的位置。 and...
阅读(5248) 评论(0)

Android设置窗口的背景图

drawable- hdpi、drawable- mdpi、drawable-ldpi的区别: Android2.1(含)以后的版本中有drawable-mdpi、drawable-ldpi、drawable-hdpi三个目录,这三个目录主要是为了支持多分辨率。 dpi是“dot per inch”的缩写,每英寸像素数。 四种密度分类: ldpi (low), mdpi (medium), hdpi (high), and xhdpi (extra high) 一般情况下的普通屏幕:ldpi是120...
阅读(5711) 评论(0)

Android调用天气预报的WebService简单例子

下面例子改自网上例子:http://express.ruanko.com/ruanko-express_34/technologyexchange5.html 不过网上这个例子有些没有说明,有些情况不一样了,所以我重新写了。 一、获取并使用KSOAP包 在Android SDK中并没有提供调用WebService的库,因此,需要使用第三方的SDK来调用WebService。PC版本的WebService库非常丰富,但这些对Android来说过于庞大。适合手机的WebService客户端的SDK有一些...
阅读(20062) 评论(13)
945条 共48页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:2688573次
    • 积分:38192
    • 等级:
    • 排名:第117名
    • 原创:940篇
    • 转载:3篇
    • 译文:2篇
    • 评论:1633条
    最新评论
    朋友的Blog
    其他