自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

区块链技术分析

区块链技术开发与学习记录

  • 博客(15)
  • 收藏
  • 关注

原创 java并发包

Java 并发包位于: java.util.concurrentArrayBlockingQueue 定长阻塞队列 ConcurrentHashMap 高性能线程安全的HashMap,使用分段锁提供高能 ConcurrentLinkedQueue 高性能线程安全LinkedQueue,使用CAS操作代替锁提高性能 CopyOnWriteArrayList 线程安全的ArrayList,写时复

2017-07-07 12:06:32 265

原创 OkHttp, Retrofit, Volley,android-async-http怎么选择

经常有人问我这个问题,这里简单讲述一下。首先,有一个基本问题要澄清,volley, retrofit, android-async-http 帮你封装了具体的请求,线程切换以及数据转换。而OkHttp 是基于http协议封装的一套请求客户端,虽然它也可以开线程,但根本上它更偏向真正的请求,跟HttpClient, HttpUrlConnection的职责是一样的。不要混淆。首先,即使你单纯使用OkH

2017-07-05 19:15:35 269

原创 开源一个Android小工具injectkey

一般手游手柄工具把手柄的键值转化成屏幕操作有两种方式,一种是通过和游戏厂商合作,通过sdk等方式,双方协商好对应的按键触发什么操作,第二种就是把键值转化成手机的屏幕触摸事件。第一种方法好处在于方便,用户不需要多余的操作直接

2017-07-03 18:23:38 759 1

原创 linux如何管理共享库

今天遇到一个编译的小问题,这里总结一下。Linux 运行的时候,如何管理共享库(*.so)的?在 Linux 下面,共享库的寻找和加载是由 /lib/ld.so 实现的。 ld.so 在标准路经(/lib, /usr/lib) 中寻找应用程序用到的共享库。 但是,如果需要用到的共享库在非标准路经,ld.so 怎么找到它呢? 目前,Linux 通用的做法是将非标准路经加入 /etc/ld.so.c

2017-05-31 18:39:57 239

原创 SELinux&SEAndroid简介

文章的主要目的是介绍SELinux及在Android上的规则,让看人看了之后懂得SELinux安全机制是什么,并且知道一些常见的问题怎么入手处理。不涉及它的实现。

2017-04-19 11:42:49 2423 3

原创 Android Graphics architecture

本文内容翻译自google官方文档 http://source.android.com/devices/graphics/architecture.htmlandorid图形框架中有几个重要的概念,我们在开发android视频功能时,经常会使用这些组件: Surface, SurfaceHolder, EGLSurface, SurfaceView, GLSurfaceView, SurfaceT

2017-03-08 16:18:45 619

原创 HashMap 的 hash 方法原理

近来碰到一个需求要重写hashmap,研究了一下hashmap的源码,发现在hash查找的地方有一些巧秒的处理,在这里记录一下。

2017-01-04 16:03:28 435

原创 Intel WiDi & Miracast hdmi receiver dongle

忙活几个月,终于完成Intel WiDi 3.5 和Miracast 接收器项目。这个接收器是硬件是一个HDMI dongle,支持WiDi 和Miracast 协议。可以把Intel 超极本和支持Miracast的手机的屏幕推送到这个接器端hdmi dongle. 废话不多说,直接上图。   视频质量和延时都已经达到intel widi gen3.5标准。支持1080p30f 720p60f

2012-12-03 18:31:51 3087 9

原创 linux driver 中断下半部实现方法总结

下半部的任务就是执行与中断处理密切相关但中断处理程序本身不执行的工作.(1)如果一个任务对时间非常敏感,将其放在中断处理程序中执行。(2)如果一个任务和硬件相关,将其放在中断处理程序中执行。(3)如果一个任务要保证不被其它中断打断,将其放在中断处理程序中执行。(4)其它所有任务,考虑放在下半部执行     在中断处理程序运行的时候,当前的中断线会被屏蔽,如果一个处理程序是S

2012-05-30 17:34:57 829

原创 mtk android power key 长按8s 关机功能实现

该功能是系统启动后,在任何情况下,长按power key 8s都能做到直接关机。因此在kernel中实现。所有修改都在keypad driver中,如下文件。mediatek\platform\mt6573\kernel\drivers\keypad\kpd.c :#define FORCE_POWERKEY_SECONDS   8   //定义power key按键持续时间

2012-05-30 17:22:27 2806

原创 Launcher简要分析:附录

Launcher类中的功能说明简表类名 说明AddAdapter .java 长按桌面后弹出的添加到桌面对话框所对应的适配器AllApps2D.java 用于存储和现实所有应用程序列表 的视图DeleteZone.java 代表长按桌面应用程序

2012-05-30 17:05:37 557

原创 Launcher简要分析:Launcher的其他内容

Launcher可以说是对外在和内涵要求都非常高的一个应用,太丑了用户第一眼映像就不要;操作效果华丽但是不流畅卡顿也会大大影响用户的使用。所以Launcher中对性能的优化也做下了一定的苦工。一个应用程序的启动,我们通常而言是通过与Intent匹配的Activity启动的,而实际上,在任何应用程序启动前,该应用程序的Application类已经运行了。Launcher在Applcation

2012-05-30 17:03:53 446

原创 Launcher简要分析:Launcher的功能实现

将所有的应用都排列在桌面上将所有的应用都排列在桌面是通过首先创建一个三维的boolean型全局数组来记录item的排列情况,第一维是屏数,第二维是纵向上的排列情况,第三维是横向的排列情况,如果那个位置被item所占用就标记为1,否则标记为0.在启动时把全局数组初始化为0,然后在添加的时候把相应的位置置1.凡是涉及到workspace上item的变化,比如移动、添加、删除操作时都需要维护数组,保

2012-05-30 17:02:37 509

原创 Launcher简要分析:Launcher的组件拖动机制

Launcher里面我们觉得比较新颖的操作方式有几种,比如通过拖拽桌面空白区域实现桌面区域的切换,长按拖动某个快捷图标的随意拖动和位置摆放,从AllAppsSildingView中,拖动某个应用图标到桌面上实现做成快捷方式等等。这些操作时如何实现的呢? 下面我们就结合源码来初略分析下. 如果从实现的角度来说的话,实现组件的OnTouch实际的相关方法,我们就可以轻易的实现某个组件的拖拽,而在Lau

2012-05-30 17:01:11 669

原创 Launcher简要分析:Launcher的基本UI构成

在开始之前,有必要简单描述下Launcher的作用和功能。 Launcher是Android系统启动后运行的第一个应用,它负责除应用本身操作外的所有操作,包括有几个桌面、点击应用程序图标启动应用程序、长时间按桌面出现上下文菜单、长按桌面图标出现垃圾箱、长按桌面应用程序后可以移动位置和设置壁纸等,添加Widget,设置文件夹等功能。虽然它负责的操作看是很多,但它和普通的应用程序具有一样的权限和应用等

2012-05-30 16:59:39 1751

空空如也

空空如也

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

TA关注的人

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