网鱼的栈

恐惧源于无知

多个任务在IntentService中是如何被顺序执行的

使用过IntentService的都清楚,这是一个继承自Service,内部实现了HandlerThread来进行异步处理任务。因为Service默认是运行在主线程的,通过内部启动一个HandlerThread,和一个关联了该thread的handler来将该service得到的intent放入到...

2019-04-17 19:33:26

阅读数 7

评论数 0

AIDL跨进程通信中的,传递自定义类型参数的修饰符in,out,inout的区别

如下文章用实例测试了in,out,inout的区别: Android 深入浅出AIDL(一) 全文如下: 前言 本文主要讲述AIDL作用以及如何快速上手AIDL项目 简介 A [android] I [Interface] D [Definition] L [Language] And...

2019-04-12 16:11:46

阅读数 32

评论数 0

ActivityStackSupervisor,ActivityStack,ActivityRecord,TaskRecord的关系

在学习activity的启动流程的时候,经常会碰到这几个类的身影,特别是在AMS中,ActivityStackSupervisor和ActivityStack对象的调用链经常切来换去的,比叫绕。 下面这篇文章就是梳理了下这几个类的关系。 ActivityRecord、TaskRecord、Ac...

2019-04-11 10:50:54

阅读数 47

评论数 0

Activity的启动流程分析

流程较为复杂,可参看这几篇文章: Activity启动过程分析 Android Launcher 启动 Activity 的工作过程 【凯子哥带你学Framework】Activity启动过程全解析 Android进阶——Android四大组件启动机制之Activity启动过程 ...

2019-04-09 15:29:55

阅读数 84

评论数 0

设计模式之享元模式在handler中的运用

享元模式的基本定义和用法: 简说设计模式——享元模式 在使用handler的时候发现,创建message对象有两种方式,一种是直接new,一种是使用Message.obtain(),这个message的静态方法是这样实现的: private static final Object sPoo...

2019-04-03 11:29:14

阅读数 25

评论数 0

线程池是如何重复利用空闲的线程来执行任务的?

在Java开发中,经常需要创建线程去执行一些任务,实现起来也非常方便,但如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。此时,我们很自然会想到使用线程池来解决这个问题。 使用线程池的好处: ...

2019-03-29 15:18:55

阅读数 50

评论数 0

实现一个类似容器里面的水慢慢上涨或者充电电量上涨的动画效果的曲折历程

题外话:文章需要配动态图gif来展示动画效果,在ubuntu下制作gif可参考这篇文章,简单方便,我精简了下步骤,如下: 制作gif动画图片: https://www.cnblogs.com/bozhicheng/p/5933984.html 首先用录屏工具Kazam录制一段视频,其次再用ff...

2019-03-27 15:50:55

阅读数 87

评论数 0

onResume中Handler.post(Runnable)为什么获取不到宽高?

原文地址:https://blog.csdn.net/u010019468/article/details/80007675 貌似已无效。 原文如下: 1 概述 一般需求中会出现在Activity启动中需要获取Ui控件相关大小或者在界面绘制完成之后刷新数据,我们都知道在UI绘制完成之...

2019-03-19 19:09:22

阅读数 20

评论数 0

Android 常用换肤方式以及原理分析

原文地址:https://juejin.im/post/5b8f6dcde51d450e6a2dcadf 原文内容: 常用方法 1.通过Theme切换主题 通过在setContentView之前设置Theme实现主题切换。 在styles.xml定义一个夜间主题和白天主题: &...

2019-03-14 14:15:33

阅读数 74

评论数 0

Android studio进行文件对比

在平时开发中,避免不了要对同一个文件的不同版本进行代码差异的对比。比较好用的工具就是Beyond Compare,这个工具可以同时对多个文件或者整个工程代码进行对比,有差异的地方会显示出来。处理完差异后,然后又切换到代码编辑工具上开发。 后来,用惯了AS后发现,对某个文件的不同版本分支的对比使用...

2019-02-20 11:12:54

阅读数 128

评论数 0

SearchManager提供全局搜索服务

在适配全局搜索功能的时候发现一个类:SearchManager,从来没使用过,这个是用来查询系统内所有支持全局搜索功能的应用。相对应的服务就是SearchManagerService,类似于ActivityManagerService的作用,在系统启动的时候就启动了。 一般用法就是首先获取服务:...

2019-02-15 17:27:33

阅读数 49

评论数 0

从源码处理一理Retrofit的异步网络请求如何把结果切换到主线程

前提,需要具备的知识点是:动态代理,反射,注解。 场景:某日面试的时候被问道,Retrofit异步网络请求是怎么把结果返回给主线程的? 答曰:具体原理不是很清楚,最后应该是通过handler把结果发送到主线程的吧。。。 问:你确定吗?真是handler吗? 这一问把我问懵逼了,心里在想An...

2019-01-28 19:05:08

阅读数 316

评论数 0

面试集锦:关于AIDL传递对象

问:AIDL传递的自定义对象,需要该对象实现Parceable接口,并在里面实现read和write方法,并且read和write的执行顺序是需要一致的,否则就会出错。那么当我存在一个客户端需要增加和改变该对象的属性,而另一个客户端保持原来的对象的属性的时候,该怎么设计?通过什么方式来实现? 一...

2019-01-24 17:30:38

阅读数 39

评论数 0

gradle导入新的依赖后各种问题

有时候导入一个新库 compile'com.libertybrowser:affiliatetrigger:2.0.1' 后会gradle构建的时候发生这种错误: Process 'command '/home/meizu/android/sdk/build-tools/25.0.1/aa...

2019-01-24 17:21:50

阅读数 167

评论数 0

关于手机设置中,显示和字体大小的变更对视图展示效果的影响

在手机中的设置功能中,一般会有显示和字体大小调节的选项: 其中字体大小调节的是文字的大小,比如说控件TextView中的文字大小,一般我们在设置textview文字大小的时候,单位一般会使用sp(跟密度和用户偏好有关),布局宽高一般使用dp(密度相关)。官方这样定义: sp: Scale-...

2018-12-28 18:11:39

阅读数 234

评论数 0

设置透明主题引起动画失效以及打开其他应用闪现桌面图标的问题

近日在适配魅族手机的时候,发现设置Activity的主题的 <item name="android:windowIsTranslucent">true</item>透明状...

2018-11-08 15:15:19

阅读数 211

评论数 0

巧用LinearLayout中的layout_weight属性适配不同的分辨率,横竖屏和超大字体模式的界面

首先,layout_weight这个属性是相对于父布局是LinearLayout来使用的,表示的是该作用的控件在父布局中的权重。 具体计算方式可以参考Android:LinearLayout布局中Layout_weight的深刻理解 原文如下: 首先看一下LinearLayout布局中Lay...

2018-09-27 20:30:35

阅读数 218

评论数 0

关于弱引用WeakReference的一点疑问

很多文章都这样解释弱引用: 弱引用与软引用的区别在于:只具有弱引用的对象拥有更短暂的生命周期。在垃圾回收器线程扫描它所管辖的内存区域的过程中,一旦发现了只具有弱引用的对象,不管当前内存空间足够与否,都会回收它的内存。不过,由于垃圾回收器是一个优先级很低的线程,因此不一定会很快发现那些只具有弱引用...

2018-07-25 18:20:29

阅读数 293

评论数 0

View补间动画Animation运行原理

先上大料: View 动画 Animation 运行原理解析 Android动画原理分析 看完以上两篇文章,基本上就可以理清补间动画的实现原理了. 基本流程如下: 1,使用View.startAnimation()开启一个动画,在这个方法里面初始化了animation,并且执行了inva...

2018-06-22 17:37:07

阅读数 285

评论数 0

网络请求发生javax.net.ssl.SSLHandshakeException异常的情况

在使用volley和okhttp的时候,访问https的网站,经常会碰到一个异常就是javax.net.ssl.SSLHandshakeException,大致就是证书相关的异常。发生了好几次。先是怀疑是不是访问的网站是自签名网站,即没有在CA进行认证。一般这种情况下会报的异常是这样的:javax...

2018-05-22 15:32:26

阅读数 6113

评论数 1

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