自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 资源 (1)
  • 收藏
  • 关注

转载 圆形切图

本来想在网上找个圆角的例子看一看,不尽人意啊,基本都是官方的Demo的那张原理图,稍后会贴出。于是自己自定义了个View,实现图片的圆角以及圆形效果。效果图:第一个是原图,第二个是圆形效果,第三第四设置了不同的圆角大小。准备改变一个博客的风格,首先给大家讲一下原理,让大家明白了,然后再贴代码,不然可以直接看那么长的代码也比较痛苦,核心代码其实就那么几行:核心代码

2014-08-28 10:03:47 1627

转载 Activity和Task的启动模式

在android里,有4种activity的启动模式,分别为:   standard: 标准模式,也是默认模式,一调用startActivity()方法就会产生一个新的实例。    singleTop: 如果已经有一个实例位于Activity栈的顶部时,就不产生新的实例,而只是调用Activity中的newInstance()方法。如果不位于栈顶,会产生一个新的实例。  

2014-08-20 15:33:33 419

转载 Android内存回收策略优先级

Android系统会对进程的重要性进行评估,并将重要性以“oom_adj”这个数值表示出来,赋予各个进程。系统会根据“oom_adj”来判断需要优先结束哪些进程,一般来说,“oom_adj”的值越大,该进程被系统选中终止的可能就越高,前台程序的“oom_adj”值为0,这意味着它不会被系统终止。Android将进程分为6个等级,foreground(前台进程)、visible(可见进程)、seco

2014-08-20 15:24:00 958

转载 堆和栈

在计算机领域,堆栈是一个不容忽视的概念,我们编写的C语言程序基本上都要用到。但对于很多的初学着来说,堆栈是一个很模糊的概念。堆栈:一种数据结构、一个在程序运行时用于存放的地方,这可能是很多初学者的认识,因为我曾经就是这么想的和汇编语言中的堆栈一词混为一谈。我身边的一些编程的朋友以及在网上看帖遇到的朋友中有好多也说不清堆栈,所以我想有必要给大家分享一下我对堆栈的看法,有说的不对的地方请朋友们不吝赐教

2014-08-18 21:05:05 336

转载 Android中的进程通信之Broadcast

广播是一种被动跨进程通讯的方式。当某个程序向系统发送广播时,其他的应用程序只能被动地接收广播数据。这就象电台进行广播一样,听众只能被动地收听,而不能主动与电台进行沟通。在应用程序中发送广播比较简单。只需要调用sendBroadcast方法即可。该方法需要一个Intent对象。通过Intent对象可以发送需要广播的数据。     先建一个android工程:sendbroadcast。在

2014-08-18 20:42:16 451

转载 Android中的进程通信之Content Provider

Android应用程序可以使用文件或SqlLite数据库来存储数据。Content Provider提供了一种在多个应用程序之间数据共享的方式(跨进程共享数据)。应用程序可以利用Content Provider完成下面的工作1. 查询数据2. 修改数据3. 添加数据4. 删除数据        虽然Content Provider也可以在同一个应用程序中被访问,但这么做

2014-08-18 20:42:14 582

转载 Android进程通信之AIDL

1.什么是aidl:aidl是 Android Interface definition language的缩写,一看就明白,它是一种android内部进程通信接口的描述语言,通过它我们可以定义进程间的通信接口icp:interprocess communication :内部进程通信

2014-08-18 20:02:19 326

转载 Android中跨进程通信之Activity

在Android应用开发中,会用到跨进程通信的方式,什么是跨进程通信,例如,在第三方应用中调用拨号、短信、邮件等,在这个过程中发生数据的传递,当前应用(一个进程)调用另一个应用(第二个进程),这就是Android中的跨进程通信。在Android中,一共有四种跨进程通信的方式,分别是通过Activity、BroadcastReceiver、ContentProvider和AIDL(Android

2014-08-18 19:41:54 578

转载 JNI的基本介绍

首先,我们都知道Android的内核是修改过的linux内核,然后Android应用是用Java的方言写的。 JNI(Java Native Interface)是Dalvik(包括其他JVM)和Linux之间的一个接口,JNI可以使得Java程序直接调用OS上原生语言开发的lib。Java追求平台无关性,但JVM不是万能的。当我们出于开发效率、执行效率的目的希望使用原生lib的时

2014-08-14 11:51:13 492

转载 引用及传值的解析

在Java中的引用类型,是指除了基本的变量类型之外的所有类型,所有的类型在内存中都会分配一定的存储空间(形参在使用的时候也会分配存储空间,方法调用完成之后,这块存储空间自动消失), 基本的变量类型只有一块存储空间(分配在stack中), 而引用类型有两块存储空间(一块在stack中,一块在heap中), 方法形参的值传递(引用)是指形参和传进来的参数指向同一个值的内存(heap)中;java是

2014-08-14 11:34:13 371

转载 jni编译过程中的问题

通过JNI实现Java和C++的相互调用一、从Java调用C++的DLL1.    创建Java文件创建名为TestNative的Java文件,注意包名。package org.druze.test;publicclass TestNative {    publicnativevoid sayHello();    publicvoid sayHello2(){ 

2014-08-13 12:09:49 379

转载 jni字段描述符

“([Ljava/lang/String;)V” 它是一种对函数返回值和参数的编码。这种编码叫做JNI字段描述符(JavaNative Interface FieldDescriptors)。一个数组int[],就需要表示为这样"[I"。如果多个数组double[][][]就需要表示为这样 "[[[D"。也就是说每一个方括号开始,就表示一个数组维数。多个方框后面,就是数组 的类型。如果以一

2014-08-12 11:48:46 429

转载 java的几种同步方法

1  wait方法:        该方法属于Object的方法,wait方法的作用是使得当前调用wait方法所在部分(代码块)的线程停止执行,并释放当前获得的调用wait所在的代码块的锁,并在其他线程调用notify或者notifyAll方法时恢复到竞争锁状态(一旦获得锁就恢复执行)。        调用wait方法需要注意几点:        第一点:wait被调用的时候必须在拥有

2014-08-10 12:32:44 386

转载 C关于内存分配的错误解析

GetMemory 改错试题4:void GetMemory( char *p ){ p = (char *) malloc( 100 );}void Test( void ){ char *str = NULL; GetMemory( str ); strcpy( str, "hello world" ); printf( st

2014-08-07 21:04:57 420

转载 Linux Makefile

目的:       基本掌握了 make 的用法,能在Linux系统上编程。环境:       Linux系统,或者有一台Linux服务器,通过终端连接。一句话:有Linux编译环境。准备:       准备三个文件:file1.c, file2.c, file2.h       file1.c:              #include             

2014-08-07 11:27:22 314

转载 abstract class和interface的剖析

理解抽象类  abstract class和interface在Java语言中都是用来进行抽象类(本文 中的抽象类并非从abstract class翻译而来,它表示的是一个抽象体,而abstract class为Java语言中用于定义抽象类的一种方法, 请读者注意区分)定义的,那么什么是抽象类,使用抽象类能为我们带来什么好处呢?  在 面向对象的概念中,我们知道所有的对象都是通过类

2014-08-06 18:26:27 343

转载 Android内存的优化

1.Java内存控制   对于字符串操作而言如果需要连加这样的操作建议使用StringBuilder,经过调试不难发现如果你的字符串每次连加,使用String需要的内存开销会远大于StringBuilder,然后Android手机常规的运行内存大约在128MB左右,对于运行多任务就需要考虑了,Android开发网提示因为Java有GC不需要手动释放那么分配的时候就要格外的小心,频繁的GC操作仍然是

2014-08-06 18:06:58 348

转载 Java死锁和volatile

Java线程死锁是一个经典的多线程问题,因为不同的线程都在等待那些根本不可能被释放的锁,从而导致所有的工作都无法完成。假设有两个线程,分别代表两个饥饿的人,他们必须共享刀叉并轮流吃饭。他们都需要获得两个锁:共享刀和共享叉的锁。

2014-08-06 17:51:59 661

转载 工厂模式

工厂模式定义:实例化对象,用工厂方法代替new操作.

2014-08-06 14:57:22 305

转载 socket通信基本流程

Tcp通信基本流程:服务器端                                                                       客户端1.创建socket                                                                1.创建socket2.bind()        

2014-08-06 14:48:46 343

转载 TCP/IP三次握手 四次挥手

TCP(Transmission Control Protocol) 传输控制协议TCP是主机对主机层的传输控制协议,提供可靠的连接服务,采用三次握手确认建立一个连接:位码即tcp标志位,有6种标示:SYN(synchronous建立联机) ACK(acknowledgement 确认) PSH(push传送) FIN(finish结束) RST(reset重置) URG(urge

2014-08-06 13:44:42 366

转载 socket与http的区别

1、TCP连接 手机能够使用联网功能是因为手机底层实现了TCP/IP协议,可以使手机终端通过无线网络建立TCP连接。TCP协议可以对上层网络提供接口,使上层网络数据的传输建立在“无差别”的网络之上。 建立起一个TCP连接需要经过“三次握手”: 第一次握手:客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认; 

2014-08-06 13:30:34 300

转载 JAVA双缓存机制

我们很多用Java中的g.drawImage()方法导入图像时,如果我们将当前窗口转变成非当前窗口状态,再从非当前窗口恢复到当前窗口状态,有时,某些绘制好的图像会消失,除非我们重新刷新窗口,显示才会恢复正常。此外,当我们移动窗口或者其他的窗口在上移动的时候,图像会有些闪烁。这是怎么一回事呢?这就要涉及到Canvas中的paint方法的绘图机制了。产生这种现象的主要原因是:1、由于在显示所绘

2014-08-05 18:33:33 1935

转载 JAVA和C++的区别

JAVA和C++都是面向对象语言。也就是说,它们都能够实现面向对象思想(封装,继乘,多态)。而由于c++为了照顾大量的C语言使用者,而兼容了C,使得自身仅仅成为了带类的C语言,多多少少影响了其面向对象的彻底性!JAVA则是完全的面向对象语言,它句法更清晰,规模更小,更易学。它是在对多种程序设计语言进行了深入细致研究的基础上,摒弃了其他语言的不足之处,从根本上解决了c++的固有缺陷。Java和c

2014-08-05 18:12:20 356

原创 TCP/IP协议

物理层:数据链路层:网络层:传输层:yingy

2014-08-05 15:31:40 321

转载 android:layout_weight的含义

首先声明只有在Linearlayout中,该属性才有效。之所以android:layout_weight会引起争议,是因为在设置该属性的同时,设置android:layout_width为wrap_content和match_parent会造成两种截然相反的效果。如下所示:[html] view plaincopyprint?LinearLa

2014-08-05 12:34:46 388

JD-Eclipse

相当好用的反编译插件,查看.class文件必备

2013-08-29

空空如也

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

TA关注的人

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