
Android
文章平均质量分 80
new洪彬
亮出你的锟斤拷
展开
-
Binder学习之旅(二)
前段时间用AIDL模板写了一个简单的进程间通信demo,并且也成功完成了进程间通信,今天就顺着demo来看看模板文件做了些什么事儿。Service回顾demo,用了两个app来进行实验,ServiceApp和ClientApp。ServiceApp启动了一个BookService,ClientApp绑定Bookservice,进而进行进程间通信。在onServiceConnected回调中,可以拿到Ibinder,通过asInterface就可以获取到ServiceApp中我们想要的东西,在代码中如下原创 2020-05-30 18:06:18 · 308 阅读 · 0 评论 -
Binder学习之旅(一)
最近在看一些framework方面的东西,但是最后都绕不过binder,于是我再转向去了解binder的知识,但是看得我一头雾水。唉,仔细想想,我好想都没有正儿八经的写过跨进程通信的代码,那么,我就来手写一个跨进程的demo玩玩,同时也正好记录所遇到的问题。AIDLAndroidStudio对AIDL开发支持真的很好啊,在新建文件的时候可以直接选择AIDL文件编写,AS会自动帮我们生成对应的java接口文件。我是从《Android开发艺术探索》上看到的AIDL编程,所以案例也用了同一个。首先定义Boo原创 2020-05-28 17:02:40 · 273 阅读 · 0 评论 -
APP全局色彩饱和度修改
APP全局色彩饱和度修改对以下两篇鸿洋大神的博文进行了实践,并记录对应的问题。App 黑白化实现探索,有一行代码实现的方案吗?App 黑白化实现探索2, 发现了一种更方便的方案,我被锤了!第一篇第一篇采用是比较常规的方法,即在View绘制的时候改变色彩饱和度,以ImageView为例,代码如下:public class MyTextView extends ImageView { ...原创 2020-04-09 16:00:01 · 1145 阅读 · 0 评论 -
从Glide中学习生命周期管理
最近也看了许多介绍glide的文章,很多流程相关的源码讲解都很详细,看完后也很有收获,不过我想写一点细节,对自己的日常开发有点启发的东西,比如说今天的图片加载的生命周期管理。 一般来说,图片是显示在Activity上的,当Activity结束了,那些正在显示和即将显示的图片的工作也可以准备结束了,所以Glide加载图片和显示图片要与Activity的生命周期同步。Glide与Ac...原创 2019-11-12 20:06:57 · 304 阅读 · 1 评论 -
从Glide中学习WeakReference
项目开发了三年多了,图片加载库用的是ImageLoader,这期间也遇到了很多特殊的需求,在ImageLoader源码的基础上不断的修修改改,倒也能满足。不过要想使用gif,imageloader就要借助别的控件了,而且在处理超大图的问题上,也会发生OOM。基于这两个点,我决定选择另一个图片加载库glide,它能够同时满足我的这两个要求。在正式替换之前我也花了一段时间来阅读源码,在阅读的过...原创 2019-11-05 17:15:43 · 512 阅读 · 0 评论 -
一点一点啃RxJava(二#线程调度#)
用RxJava实现线程切换是非常方便的,而且线程切换也是RxJava最大的特点之一。 依旧是先上一段示例代码和执行结果Observable .create(new ObservableOnSubscribe<Object>() { @Override ...原创 2018-04-24 10:18:20 · 386 阅读 · 0 评论 -
一点一点啃RxJava(三#操作符#)
本文将分析RxJava2中常见的操作符。· justjust的作用是将参数依次发射出来,而且有很多的重载方法除了单参数的之外,别的方法都会调用fromArray,这个放到后面说。 just单参数方法返回ObservableJust对象:public final class ObservableJust<T> extends Observable<T> impl...原创 2018-04-25 17:11:01 · 325 阅读 · 0 评论 -
一点一点啃RxJava(四#背压#)
emmmm......本来我以为Rxjava应该写完了,但是仔细想想,还有一个比较重要的概念还没有涉及到,那就是“背压”。 一开始看RxJava的文档时看到背压这个概念的时候我是拒绝的,因为,你不能说这是背压,我就能理解这就是背压,我要自己试一下,我试过之后再告诉你们,我试过之后知道这是背压,你们看完之后也会知道。 想象一个经典的生产者消费者模型,生产者...原创 2018-05-14 14:10:20 · 306 阅读 · 0 评论 -
一点一点啃RxJava(一#观察者模式实现#)
项目里的网络库替换成RxJava+Retrofit也已经大半年了,之前因为时间紧,也一直没有来得及去看具体的实现原理,现在打算打算完整地梳理一遍RxJava,好东西当然要学习学习。 扔物线的给 Android 开发者的 RxJava 详解这篇文章对刚开始接触RxJava的同学非常友好,建议像我一样的可以先去了解一下,不过他那篇文章是基于RxJava1.0的,本文涉及到...原创 2018-04-19 18:05:21 · 304 阅读 · 0 评论 -
adb 命令
命令 解释 adb shell 启动adb logcat -c 清除所有log日志 logcat *:e 查看所有错误 logcat -s xxx 查看log“xxx”的信息 cat /proc/meminfo 查看手机内存情况 ps 查看所有进程 ps|grep xxx 过滤显示 “xxx” 的进......原创 2016-11-29 13:20:00 · 381 阅读 · 0 评论 -
Parameter must be a descendant of this view 错误
Parameter must be a descendant of this view 相关最近做的项目,有ListView的嵌套问题,但是在某些机型上面会崩溃,报Parameter must be a descendant of this view异常,我查了很多资料,都说是在移除一个View的时候没有把这个View的焦点一起移除。我也不能解释得很清楚,有类似问题的可以查阅以下两个链接http:/原创 2016-05-06 12:37:14 · 744 阅读 · 0 评论 -
Android广播的源码解析
最近打算把Android基础的一些知识再深入一点,所以就打算从四大组件开始入手,广播是经常使用的,但是也仅仅只停留在会用,却不知其原理,就着这个机会把源码给撸一遍吧。public class MainActivity extends Activity{ @Override protected void onCreate(Bundle savedInstanceState) {原创 2017-03-29 14:03:19 · 975 阅读 · 0 评论 -
Android中从ImageView中取出图片bitmap注意事项
最近在工作中遇到一个需求,是在做视频播放器时,要求中间的播放按钮是毛玻璃效果。这就要在这个图片的相应位置取出bitmap对象,然后进行模糊处理再设置回去。这张图片是从服务端异步获取的,所以在获取图片完成时会设置完整个控件的大图,然后我再从空间中取出我需要的那一小块bitmap.bitmap = Bitmap.createBitmap(imageVie原创 2016-03-26 15:28:04 · 4983 阅读 · 1 评论 -
Android SQLite使用
数据库是Android的一种数据存储方式,但是SQLiteOpenHelper是抽象类,我们需要自己写一个实现类来实现onCreate方法和onUpgrade方法,这两个方法分别会在数据库创建和更新的时候调用到。getWritableDatabase方法和getReadableDatabase方法分别返回一个可写的数据库和一个可读的数据库。如果发现数据库不存在,就会调用onCreate方法创建一个数据库,如果版本号升级就调用onUpgrade升级数据库。创建的数据库在/data/data/xxx(pac原创 2017-03-06 14:37:32 · 410 阅读 · 0 评论 -
Activity启动模式的那点事
要说Activity是Android四大组件最重要的一点也不为过,因为用户最能直观感受的也就是Activity。在讲启动模式之前有两个概念要先理一理,Stack和Task。TaskActivity是显示以及用户直接进行交互的组件,我们可以简单理解为许多个Activity组合在一起就是一个app。而这么多的Activity就在一个或多个Task中。StackActivity存在于Ta原创 2017-07-31 18:53:07 · 430 阅读 · 0 评论 -
AsyncTask注意事项
昨天看《Android开发艺术探索》的时候,对AsyncTask中的几个点比较感兴趣:先贴源码注释截图1、AsyncTask不适合特别耗时的任务 AsyncTask的生命周期和Activity的生命周期不同步,Activity销毁了但是AsyncTask中的任务还是会继续执行完毕,一个最典型的例子就是Activity的横竖屏切换,AsyncTask中引用的Act原创 2016-03-30 10:07:37 · 799 阅读 · 0 评论