- 博客(9)
- 资源 (1)
- 问答 (1)
- 收藏
- 关注
原创 Android嵌套滑动简介——手把手教你打造黏性头部控件
Android嵌套滑动简介——手把手教你打造黏性头部控件问题的引入接口简介嵌套滑动实战关于嵌套滑动踩过的坑以及误区问题的引入首先让我们看一个效果:在很早之前, 我们想实现上面这个效果的通常做法是自己写一个ViewGroup, 拦截下触摸事件, 控制里面滑动事件的分发. 如果第一个view已经滑出屏幕,则把剩下的事件交给recyclerview处理.处理过的同学们都知道, 分发复杂,还要考...
2019-01-01 18:06:46
3634
4
翻译 Android开发文档翻译之——Bound Services
绑定状态下的service Bound Service是一种c/s接口中的server端。其允许其他组件绑定到service,发送请求,接收响应,甚至进行进程间的交互(IPC)Bound Service通常只在有其他组件需要服务时运行,并不单独运行在后台。 本文档主要内容是如何创建一个bound service,包括在其他应用中绑定该service。如果你对service的基础概念不是太熟悉,建
2016-04-07 21:08:05
547
翻译 Android开发文档翻译之-Services
Service是一种能长期在后台运行同时不需要与用户进行交互的应用组件。其他组件可以开启service,开启后service可以自行运行及时用户已经切换到其他的应用。此外,组件可以与service进行绑定来进行交互,及时是跨进程的交互(Android的IPC机制)。网络操作、播放音乐、执行文件IO操作或是与内容提供者进行交互,这些操作都可以通过service在后台进行。Service的两种形式:St
2016-04-07 19:58:30
2933
翻译 Fresco简介:一个新的Android图片加载库
高效的显示图片对于Android应用而言十分重要。然而过去的几年间我们在有效的存储图片这一问题上遇到了许多挑战。图片太大,“设备”太小。一个像素需要占用4个字节(红、绿、蓝和透明度)。一部400*800的手机,显示一张全屏的图片需要使用1.5MB的内存。手机本来就没多少内存,Android系统还将这些内存分给了多个应用使用。在一些设备上,一个应用程序仅能使用16MB的内存——一张图片就用完了。应用程
2016-04-05 17:22:49
559
转载 Android中int,short,long和byte的转换
importjava.nio.ByteOrder; publicclass BytesTransUtils { privateString TAG = "BytesTransUtils"; privatestatic BytesTransUtils instance = null;
2015-12-23 19:10:57
2812
原创 Android性能优化之SQLite
Android应用程序开发时经常要使用到数据库做本地存储,因此优化SQLite是优化程序性能的一个很重要的部分。 本文从以下3个方面说一下数据库的简单优化手段: 1.提前编译sql语句 2.事务 3.映射一.提前编译sql语句 假设我们现在需要向数据库中插入若干条数据,我们当然可以这么写String sql = "insert into student(id,name) values('1
2015-07-27 16:33:43
497
原创 进程的同步与互斥
操作系统提供的一大功能就是进程管理。而多个进程在访问同一资源时,不可避免的会出现竞争的现象,为了解决这一问题,引入了信号量以及P、V操作。 信号量可以看作操作系统中某一资源,当信号量大于0时表示该资源的剩余数量,当信号量小于0时表示有多少个进程在等待队列中。仅P、V操作可以实现对信号量的修改。 P操作表示有一个进程申请使用资源,因此S–,如果s<0,则将该进程加入到信号量的等待队列中,否则继续运
2015-07-19 10:44:35
2381
原创 java中的深克隆和浅克隆
在Java中,如果想要快速的复制一个当前对象的拷贝,最好的方法是实现Cloneable接口,官方提供的API文档中,对Cloneable的描述是“Creates and returns a copy of this object.”,翻译过来即为“创建并返回一个对象的拷贝”。 实现Cloneable接口也很简单,继承Cloneable接口,然后重写clone方法即可。比如我们要复制下面这个类,就可
2015-06-30 10:18:15
535
原创 Java中的匿名内部类:由setOnClickListener说起
在初学Android的时候,总是看到这样一段代码: Button button = (Button) findViewById(R.id.button); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) {
2015-06-28 09:29:28
2739
CSipSimple支持视频通信版本源码
2015-06-10
使用pjsip如何发起会议通话
2015-11-08
TA创建的收藏夹 TA关注的收藏夹
TA关注的人