自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Android 小生的博客

用于记录本人在Android 开发过程中学到的东西,并且供有需要的人参考

  • 博客(50)
  • 资源 (5)
  • 收藏
  • 关注

转载 【android开发】实现语音数据实时采集/播放

今天无意中看到一篇关于android实现语音数据实时采集/播放的文章,感觉写得非常棒,挺全面的,所以特地转载了,还有其实还可以根据这篇博客内容考虑下视频数据实时采集、播放的实现。博客原文地址http://blog.csdn.net/lantingshuxu/article/details/53520316最近做的项目是和语音实时采集并发送,对方实时接收并播放相关,下面记录下实现的核心代码。

2016-12-09 09:02:34 12449 1

转载 Android 总结:自定义键盘实现原理和三种实例详解

一、实现原理实现软键盘主要用到了系统的两个类 Keyboard 和 KeyboardView .1. Keyboard用于监听虚拟键盘:Loads an XML description of a keyboard and stores the attributes of the keys. A keyboard consists of rows of keys . Th

2016-11-29 20:31:37 11963

原创 分布式存储系统的雪崩效应的产生与预防

分布式存储系统是将数据存放在多个服务器上,同时按照一定规则做备份,冗余出2-3套副本,以保障有服务器出故障时,整个系统不受影响,依旧可用。当一部分服务器节点出故障无法访问的时候,存储在故障服务器上的副本无法访问,分布式系统会自动复制健康的数据,保证再有服务器节点无法访问时,数据不会丢失,这个策略就叫做副本补全策略。然而在一段时间内数目较多的宕机事件有较大可能性诱发系统的大规模副本补全策略(

2016-07-28 11:15:20 3453

原创 web 网站优化分析

这里的web系统优化是指网站系统优化,之前一直认为网站系统的优化方面能做的应该是很少的,因为在我过去的认知里,网站是运行在服务器软件(常见的Tomcat)上,服务器软件完成了用户请求的获取,并交给自己的网站,再由网站处理,整体流程就是这样,当时认为若要优化的话应该从请求的转发过程处理(如果转发快了,系统自然就快了),但是这部分已经被服务器软件处理了,作为一般的程序员根本就处理不了请求转发的过程。但

2016-07-28 10:54:32 616

转载 java线程安全总结

原文:   http://www.iteye.com/topic/806990http://www.iteye.com/topic/808550        最近想将java基础的一些东西都整理整理,写下来,这是对知识的总结,也是一种乐趣。已经拟好了提纲,大概分为这几个主题: java线程安全,java垃圾收集,java并发包详细介绍,java profile和jvm性能调优 。

2016-07-28 09:53:21 605

转载 Android自定义view详解

自定义View 是一个android 工程师进阶的必经之路,从之前就打算写一篇文章,但是真的写时,就感觉已经有别人整理了一篇很好,很到位的文章与其把别人的话在重说一次,就说成自己的,还是直接转载吧。。本文原文地址 :http://shaohui.xyz/2016/07/08/Android%E8%87%AA%E5%AE%9A%E4%B9%89view%E8%AF%A6%E8%A7%A3/对

2016-07-22 14:07:31 742

转载 Android 框架练成 教你打造高效的图片加载框架

转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/41874561,本文出自:【张鸿洋的博客】1、概述优秀的图片加载框架不要太多,什么UIL , Volley ,Picasso,Imageloader等等。但是作为一名合格的程序猿,必须懂其中的实现原理,于是乎,今天我就带大家一起来设计一个加载网络、本地的图片框架。有人可能会

2016-07-21 15:12:10 886 1

转载 【Android开发】之MediaPlayer的错误分析

最近在做媒体播放器,使用了Android自带的MediaPlayer,经常性会碰到MediaPlayer报错的情况,找过网上的,感觉总结的不是很好或者比较散。下面,我来总结一下使用MediaPlayer经常会出现的错误。如果有比较了解的,也可以在下面评论探讨一下。   一、Mediaplayer简介    Mediaplayer可以用来控制音频或者视频文件、流的播放。(Me

2016-07-12 16:55:15 11270 1

转载 灵活且强大的RecyclerViewAdapter源码分析

相信大家RecyclerView应该不会陌生,大多数开发者应该都使用上它了,它也是google推荐替换ListView的控件,但是用过它的同学应该都知道它在某些方面并没有ListView使用起来方便,需要我们额外的编写代码,今天就给大家介绍一个Github上面的一个开源库,有了它让你使用RecyclerView的时候,和ListView一样的好用!它的名字叫做「BaseRecyclerViewAd

2016-07-05 14:17:35 2258

转载 竞品分析工具汇总

本文整理了一些自己在开发过程中经常会用到的竞品分析工具,这些工具可以帮助分析竞品。让我们得以了解竞品相应的一些技术信息,例如:代码质量、某种业务的实现方式、用了什么第三方库等。除此之外,也有一些高端玩家会玩起 HOOK ,更有甚者是通过修改代码然后进行二次打包。当然这些损害开发者利益的事情,是不值得提倡的。但如果只是出于学习的目的,我是十分建议多折腾的。原文来自 http://diycod

2016-07-05 13:39:22 5976

原创 Android N 程序适配要点

首先说明一点Android n 程序适配要点,不是指屏幕适配要点,对于屏幕适配,笔者转载了一篇博客,笔者感觉说的很到位,有需要的点击这里,而是结合android N的性特性,说明一下开发目标平台是android n的app或者将现有android app改为android n平台app的一些注意事项,如果不留意这些事项,你本来好好的程序,在android n上就可能会异常停止(cr

2016-07-05 13:20:19 9632

转载 Android 屏幕适配方案

转载请标明出处: http://blog.csdn.net/lmj623565791/article/details/45460089; 本文出自:【张鸿洋的博客】1、概述大家在Android开发时,肯定会觉得屏幕适配是个尤其痛苦的事,各种屏幕尺寸适配起来蛋疼无比。如果我们换个角度我们看下这个问题,不知道大家有没有了解过web前端开发,或者说大家对于网页都不陌生吧,其实

2016-07-04 17:38:40 473

转载 Android 自定义View

转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/24252901很多的Android入门程序猿来说对于Android自定义View,可能都是比较恐惧的,但是这又是高手进阶的必经之路,所有准备在自定义View上面花一些功夫,多写一些文章。先总结下自定义View的步骤:1、自定义View的属性2、在View的构

2016-07-01 16:57:33 344

转载 Android ViewDragHelper完全解析 自定义ViewGroup神器

转载请标明出处: http://blog.csdn.net/lmj623565791/article/details/46858663; 本文出自:【张鸿洋的博客】一、概述在自定义ViewGroup中,很多效果都包含用户手指去拖动其内部的某个View(eg:侧滑菜单等),针对具体的需要去写好onInterceptTouchEvent和onTouchEvent这两个方法是

2016-07-01 16:16:56 530

转载 用户手势检测-GestureDetector使用详解

一、概述当用户触摸屏幕的时候,会产生许多手势,例如down,up,scroll,filing等等。一般情况下,我们知道View类有个View.OnTouchListener内部接口,通过重写他的onTouch(View v, MotionEvent event)方法,我们可以处理一些touch事件,但是这个方法太过简单,如果需要处理一些复杂的手势,用这个接口就会很麻烦(因为我们要自己根

2016-07-01 16:09:28 589

转载 Java 中的反射机制

反射,当时经常听他们说,自己也看过一些资料,也可能在设计模式中使用过,但是感觉对它没有一个较深入的了解,这次重新学习了一下,感觉还行吧!           一,先看一下反射的概念:              主要是指程序可以访问,检测和修改它本身状态或行为的一种能力,并能根据自身行为的状态和结果,调整或修改应用所描述行为的状态和相关的语义。          

2016-06-28 08:33:19 409

转载 Java ClassLoader深入讲解

首先,提前说明一下,这篇博客笔者是连续 看了4次后才决定转载的,这博客涉及的真的很深入,很到位,想了解java classloader 机制及使用的就好好阅读几次当JVM(Java虚拟机)启动时,会形成由三个类加载器组成的初始类加载器层次结构:       bootstrap classloader                |       extension clas

2016-06-28 08:27:51 689

原创 Android 7 新特性浅析

Android 7是谷歌推出的智能手机操作系统,代号为:AndroidN。谷歌2016年的I/O开发者大会在美西时间2016年5月18-20日召开,地点为山景城的Shoreline Ampitheatre圆形剧场,新版的Android N系统正式发布,作为android 开发者还是得紧跟潮流,看一下android 7 有什么特性,这有助于开发出 更好的 应用。Android N 与前面的系

2016-06-27 14:31:15 4259

转载 Java7语法新特性

1. switch中增加对String类型的支持。 Java代码 public String generate(String name, String gender) {     String title = "";     switch (gender) {         case "男":             title = name + " 先生";            

2016-06-27 14:20:20 499

转载 java 8的十大新特性分析

一、接口的默认方法Java 8允许我们给接口添加一个非抽象的方法实现,只需要使用 default关键字即可,这个特征又叫做扩展方法,示例如下:复制代码 代码如下:interface Formula {    double calculate(int a);    default double sqrt(int a) {        return Math.

2016-06-27 14:13:25 1358

原创 Android App性能优化步骤及电量优化与service优化

大多数开发者在没有发现严重性能问题之前是不会特别花精力去关注性能优化的,通常大家关注的都是功能是否实现。当性能问题真的出现的时候,请不要慌乱。我们通常采用下面三个步骤来解决性能问题。·Gather:收集数据我们可以通过Android SDK里面提供的诸多工具来收集CPU、GPU、内存、电量等性能数据。·Insight:分析数据通过上面的步骤,我们获取到了大量的数据,下一步就是分析这

2016-06-26 13:58:40 4695

原创 Android App卡顿慢优化之多线程优化

本博客涉及的内容有:多线程并发的性能问题,介绍了AsyncTask,HandlerThread,IntentService与ThreadPool分别适合的使用场景以及各自的使用注意事项,这是一篇了解Android多线程编程不可多得的基础文章,清楚的了解这些Android系统提供的多线程基础组件之间的差异以及优缺点,才能够在项目实战中做出最恰当的选择。1)Threading Performanc

2016-06-26 10:21:17 14376

转载 Java开发中的23种设计模式详解

设计模式(Design Patterns)                                  ——可复用面向对象软件的基础设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化

2016-06-25 21:35:48 1771

原创 内存优化之其他优化(容器数据遍历方案,arraymap使用及java自动装箱)

这里介绍Android App 内存优化中的其他优化,这里和图片优化部分目的一致,就是尽量少占用内存,这里主要从三个方面入手:1.容器数据遍历方案选择遍历容器是编程里面一个经常遇到的场景。在Java语言中,使用Iterate是一个比较常见的方法。可是在Android开发团队中,大家却尽量避免使用Iterator来执行遍历操作。下面我们看下在Android上可能用到的三种不同的遍历方法:

2016-06-16 22:54:44 3984

原创 Android App 性能优化之图片优化

接下来说明一下关于其他内存问题。图片问题,作为一个优秀的Android开发者,在图片的类型选择,图片显示前的处理都是要好好考虑的,因为不同类型图片在Android中的显示代价是不同的,使用不同显示方式代价也是不同的,首先看一下图片类型png与jpg两种类型显示代价有不同,原因在于png占的内存较多,但解码叫简单,若png图片过多,会容易垃圾回收,甚至内存溢出,而jpg的内存小,但解码复杂,会花更多

2016-06-15 00:44:07 9354

转载 理解LinkedHashMap

本文转载自http://www.cnblogs.com/children/archive/2012/10/02/2710624.html 1. LinkedHashMap概述:LinkedHashMap是HashMap的一个子类,它保留插入的顺序,如果需要输出的顺序和输入时的相同,那么就选用LinkedHashMap。   LinkedHashMap是Map接口

2016-06-10 22:10:16 1251

转载 Android lrucache 实现与使用(Android内存优化)

本篇博客原文链接http://www.bkjia.com/Androidjc/979126.html 原标题是LruCache详解之 Android 内存优化,lrucacheandroid,笔者感觉这博客很棒,就转载了概念:LruCache 什么是LruCache? LruCache实现原理是什么?这两个问题其实可以作为一个问题来回答,知道了什么是

2016-06-10 22:02:21 3327

原创 Android App卡顿慢优化之解决内存抖动及内存泄漏

前面一篇博客说到了,内存抖动的第二种情况,就是必须在短时间内创建对象,但是要控制数量;这个问题目前可以使用对象池的方法解决。 3)Object Pools在程序里面经常会遇到的一个问题是短时间内创建大量的对象,导致内存紧张,从而触发GC导致性能问题。对于这个问题,我们可以使用对象池技术来解决它。通常对象池中的对象可能是bitmaps,views,paints等等。关于对象池的操作原理,

2016-06-10 21:20:37 3330

原创 Android App解决卡顿慢之内存抖动及内存泄漏(发现和定位)

内存抖动是指在短时间内有大量的对象被创建或者被回收的现象,内存抖动出现原因主要是频繁(很重要)在循环里创建对象(导致大量对象在短时间内被创建,由于新对象是要占用内存空间的而且是频繁,如果一次或者两次在循环里创建对象对内存影响不大,不会造成严重内存抖动这样可以接受也不可避免,频繁的话就很内存抖动很严重),内存抖动的影响是如果抖动很频繁,会导致垃圾回收机制频繁运行(短时间内产生大量对象,需要大量内存,

2016-06-10 19:01:48 17785 2

转载 Android 消息机制学习

在简书网看到一篇关于分析Android消息机制的文章,笔者感觉这文章很不错,特地转载先说明原地址 http://www.jianshu.com/p/1e5640e6bef9#share-weixin-modal Android消息机制大家都不陌生,想必大家也都看过Handler、Looper的源码(看过就可以忽略下文咯,直接看后文的重点),下面就整合一下这方面的资料,加深对这方面的印象

2016-06-07 18:50:41 712

原创 Android app性能优化解决卡慢顿之布局优化

前面博客分析了导致app卡顿慢的直接原因,这里就从原因出发,分析一些优化方案(这里主要是从直接影响渲染机制的布局相关进行分析)1) Invalidations, Layouts, and Performance(动画,布局的优化)顺滑精妙的动画是app设计里面最重要的元素之一,这些动画能够显著提升用户体验。下面会讲解Android系统是如何处理UI组件的更新操作的。通常来说,Andro

2016-06-07 14:57:32 8128

原创 Android app优化之导致app 卡顿慢的直接原因

总结一下,这里是介绍了导致我们app卡顿慢的直接原因,也是底层原因,至于别的原因例如内存泄漏,耗时任务在主线程这些问题都是先影响了Android渲染机制。然后才会出现卡顿慢现象的,准确说是影响到渲染机制cup相关部分导致延后运行。知道了这个原因后,优化的具体措施就有了。

2016-06-07 13:57:06 26313

原创 Android 应用性能优化综述

相信开发过一段时间Android应用的人都会有一些感受,包括开发的应用功能都实现了,但是程序运行起来后,就出现卡.顿.慢。耗电很快这些问题。同时笔者感觉Android开发,功能是很容易搭建起来的,原因主要是Android应用开发主要是调用相应API,还有就是Android源码例子很多,只要明确了功能,只要百度一下,就可以找到相关的demo,当然,特殊功能除外,但是同一个Android 功能,有很多

2016-05-24 14:21:06 639

转载 Java 的多线程访问常见异常--fast-lost (快速失败 )

-----原文出自:http://cmsblogs.com/?p=1220,请尊重作者辛勤劳动成果,转载说明出处.-----个人站点:http://cmsblogs.com  在JDK的Collection中我们时常会看到类似于这样的话:        例如,ArrayList:注意,迭代器的快速失败行为无法得到保证,因为一般来说,不可能对是否出现不同步并发

2016-05-03 10:01:25 1164

转载 Java 垃圾回收机制

由于Java垃圾回收机制的相关博客相当的多,笔者就不在重复别人的话,当做自己的了,就直接转载一篇感觉很棒的吧,原文地址 http://blog.csdn.net/zsuguangh/article/details/6429592 ,是不是笔者原创不重要,重要的是大家真正理解java 垃圾回收机制,并可以编写出高质量的程序。1. 垃圾回收的意义  在C++中,对象所占的内存在程序结束

2016-05-03 09:46:10 425

原创 eMule中的kad相关代码梳理

emule中的Kademlia代码总体描述当emule中开始使用Kademlia网络后,便不再会有中心服务器失效这样的问题了,因为在这个网络中,没有中心服务器,或者说,所有的用户都是服务器,所有的用户也是客户端,从而完完全全得实现了P2P。接下来讲针对emule中的Kademlia网络进行分析,将会根据emule中实现Kademlia所使用的不同的类分别进行讲述。其中:CKademli

2016-04-30 12:31:07 4238 3

原创 ed2k 中的信誉和分段机制代码梳理

信誉机制信誉机制在P2P系统中有非常重要的作用。为了使用户更加愿意共享自己的资源,需要有一些机制能够让对整个P2P系统贡献更大的用户有更多的激励。在emule中,激励机制的设计方案是tit-for-tat这种最直观的方案。这种方案的意义就是最简单的如果别人对你好,那么你也对别人好。 下面看实际的实现。CClientCreditsList和CClientCredits类负责emule中的

2016-04-30 12:26:42 1214

原创 ed2k 网络中搜索资源并选择资源下载的分析及eMule源码梳理

上一篇博客中,客户端已连接到ed2k网络及客户端与服务器交互的eMule源码梳理,这里将开始搜索资源并下载及客户端与客户端交互的eMule源码梳理搜索资源并下载,这是一个即包含和和服务器交互还包含与另一些客户端交互。所以会先说明和服务端交互的情况(搜索资源,选择资源),在说明下载(与客户端交互)。搜索资源是发送关键词到服务器,服务器会根据关键词返回信息,当然这些信息是通过消息传递的具体

2016-04-30 11:50:07 5759

原创 eMule连接到进ed2k网络分析

上一篇博客已经介绍eMule客户端的初始化过程及相关代码梳理,这里将接着介绍第二个步骤 连接到ed2k服务器 Emule 客户端使用场景分析,当我们要下载一个ed2k 文件时 ,可以分为以下几步:一 。启动emule客户端(这时候就开始初始化,主要是对Config文件夹下的文件(比如Server.met等)进行反序列化,生成相应实例,存储信息(包括ed2k服务器地址及端口号))。二

2016-04-29 21:37:21 5913

原创 eMule 的使用场景及初始化任务描述级eMule相关代码分析(仅涉及ed2k)

Emule 客户端使用场景分析,当我们要下载一个ed2k 文件时 ,可以分为以下几步:一 。启动emule客户端(这时候就开始初始化,主要是对Config文件夹下的文件(比如Server.met等)进行反序列化,生成相应实例,存储信息(包括ed2k服务器地址及端口号))。二. 客户端必须连上某个服务器(可能会从服务器列表中依次尝试,直到连上为止,连上以后客户端就加入了emule网络,成为协议节点)。三. 用户就向服务器传递ed2k连接(这是用户已知道ed2k连接的情况,如果用户不知道ed2k连接,就可

2016-04-29 21:06:16 1916

天网c++源码与搜索引擎原理文档

这是北大天网搜索引擎的源码,及北大实验室搜索引擎的一篇论文,都挺好的。

2016-06-26

emule开源代码

这是eMule-项目的开源代码,我从官网下的,特地给那些不会从官网或者无法从官网下载源码的人提供,这时eMule5,0 源码,包含eMule协议和kad协议的具体实现对了,这不能编译通过,原因是eMule 使用了别的库例如 pnglib,ziplib等,所以这仅适合用于研究ed2k协议和kad协议的实现。

2016-04-29

eMule中kad协议具体实现分析

这是针对eMule开源代码中kad协议代码实现分析的ppt,感觉分析的还可以,有需要的看一看。

2016-04-29

eMule1.0协议(ed2k协议)中文版

这是eMule 1.0 协议中文版,eMule协议属于ed2k协议。可用于了解ed2k协议相关技术,如果好用的话,请好评哦。

2016-04-28

Android SipDemo( 网络电话的例子源码,android 2.3以上才能用)

这是android 2.3及2.3以后才能用的Sip (网络电话)相关接口使用的例子,实现了基本的网络电话功能(呼叫及被呼叫),用的是Android提供的编程接口。

2016-04-27

空空如也

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

TA关注的人

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