自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 资源 (2)
  • 收藏
  • 关注

原创 Go继承的方法重写,继承抽象类实现

Go继承的方法重写,继承抽象类实现go的接口和继承就没什么好说的了,基本上大家都知道怎么玩,这里说下可能会困扰大家的问题。在Java里方法的重写和抽象类是很好用的,对于抽象和尽量共用抽象出来的代码很重要,但是用go很多人又不知道该怎么写才好,所以这里说下在go里怎么实现方法重写func main() { m := &Man{} m.Eat() m.Run() m.Sleep(...

2019-04-20 15:55:47 9793 3

原创 大话消息队列-消息重试(如何保证消息的可达性,RocketMQ消息重试分析)

大话消息队列-消息重试(如何保证消息的可达性)消息可达性重试的触发点在哪里怎么重试先说结果再分析sendOneway同步send异步Send消息可达性现在大数据时代,很多项目都要使用消息队列,但是一直有一个问题困扰着我们,那就是怎么保证消息不丢?上网搜了一下,反正没找到讲的很清楚的文章,所以这里准备分析一个MQ的源码,然后结合自己的理解写一篇实用性比较强的文章。那么拿什么MQ分析呢?市面上的...

2019-02-01 08:50:59 2700 1

原创 图解okhttp-1-整体架构

Http库一定是两个核心,一个是IO核心,一个是http协议的封装,okhttp基于okio库封装了http协议并整合了分发器和线程池模型,是一个用起来很简单,api接口很容易理解的高效库。首先看一段最简单的也是最常用的甚至是你可能仅仅只会用到这个的一段代码:OkHttpClient client = new OkHttpClient();Request request = new Reques

2017-11-01 13:25:51 1486 1

原创 使用LeakCanary分析并解决Android内存泄露

使用LeakCanary分析并解决Android内存溢出 LeakCanary是一款内存溢出分析工具,至于什么是内存溢出网上有很多帖子,这里就不废话了,改工具是在app里植入一个新进程的和一个新入口的工具组件,也就是说使用了leakcanary的app安装后会在桌面看到两个app入口,卸载其中一个另外一个也会被卸载,并且两个入口运行在不同的进程。而在leakcanary入口里可以看到主app里内

2017-08-17 17:57:26 6013

原创 Android view的移动和画布的移动原理 适用于制作各种效果

android view中有layout(int l, int t, int r, int b) 和offsetTopAndBottom(int offset)和offsetLeftAndRight(int offset) 3个方法,可以用来操作view的位置,下面我们来移动一个view<LinearLayout xmlns:android="http://schemas.andro

2012-04-06 14:08:23 21789

原创 Android APK应用安装原理(2)-查找APK并自动安装

Android每次启动的时候会自动安装位于特定目录下的APK,这个过程会在packageManagerService这个类的构造方法中进行,这里会创建多个目录用于预查找:public PackageManagerService(Context context, boolean factoryTest) {...mFrameworkDir = new File(Environme

2012-03-31 17:31:42 6502

原创 Android APK应用安装原理(1)-解析AndroidManifest原理-PackageParser.parserPackage

Android 安装一个APK的时候首先会解析APK,这里要做很多事情,其中一个事情就是解析Manifest.xml文件,并将所有APK的Manifest封装到各种对象中并保存在内存当中解析Manifest的类是非常重要的,该类就是frameworks\base\core\java\android\content\pm\PackageParserPackageManagerService会

2012-03-14 17:21:09 21266 7

原创 Android 修改framework实现 全局唯一launcher

在网上找了好久唯一launcher的实现方式,发现都是一同一个人写的,而且并没有实现这个功能,因为按照这个方式去做的话,当你按下HOME键还是出现了选择launcher的对话框,然后自己研究了一天,找到了最直接有效的而且是最简单的方法实现全局唯一launcher的功能:                修改frameworks\base\core\java\android\content

2012-03-14 16:08:32 8825 6

原创 Android测试(1)-普通类的测试

对于Android开发来说,调试和测试都非常重要,现在十分流行的是TDD开发,测试驱动开发,再分析完需求之后,做出功能表和业务逻辑的概要设计,就可以通过需求和设计开发测试用例了,再围绕着符合实际需求的测试用例开发项目。当然测试用例和项目开发的顺序并不是非要那么绝对,再完成了测试用例后开始开发项目的过程中也可以反过来继续完善测试用例,要做到十分灵活的运用测试,相辅相成,以测试结果为驱动,小步伐的一步

2012-03-13 15:09:58 2573

原创 Android 焦点滑动的 自定义 ListView

最近研究android的最常用的控件ListView,感觉挺有趣的,包括Listview的循环机制,item重用机制,上下滑动刷新机制,然后做了一个焦点可滑动的ListView,不知道大家看过或者用过Apple TV没有,Apple TV里面的焦点都是可滑动的, 大家可以搜索一下Apple TV 的视频, 可以看到焦点滑动的效果。OK~!  先上图,不知道怎么贴视频或者是可以动的组件,只有

2012-02-29 15:28:03 6966 5

原创 java 多线程 同步 synchronized 的个人理解和用法

1.当 synchronized A方法被一个线程调用的时候(运行过程中), 另外一个线程调用A方法会block住,而并不是请求失败,如果此时在block住的线程实例上调用interrupt方法就会触发InterruptedException,然后请求的序列会被cache在请求队列中,在队列中的顺序并不一定是你代码从上到下的运行顺序,而是未知的,这个队列可以cache住的任务数量可以很大, 直

2012-02-28 16:08:29 2416

protoc-mac-3.6.0

mac下protobuf编译好的可执行文件 版本号是3.6.0 要知道编译这个是很慢的

2018-07-12

Android 焦点可滑动的 自定义 ListView

最近研究android的最常用的控件ListView,感觉挺有趣的,包括Listview的循环机制,item重用机制,上下滑动刷新机制,然后做了一个焦点可滑动的ListView,不知道大家看过或者用过Apple TV没有,Apple TV里面的焦点都是可滑动的, 大家可以搜索一下Apple TV 的视频, 可以看到焦点滑动的效果。

2012-02-29

空空如也

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

TA关注的人

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