
Android学习笔记
Jonson_Hao
我有一只小仓猪,我从来也不骑
展开
-
Android 消息机制: ThreadLocal
前言 ThreadLocal 是一个线程内部的数据存储类,通过它可以在指定的线程中存储数据,数据存储以后,只有在指定的线程中可以获取到存储的数据,对于其他线程来说则无法获取到数据 在 Android 的消息机制中,每个线程的 Looper 实例都是不同的,各个线程之间的 Looper 都在独立的轮询消息队列,它们之间没有任何的交集,互不干扰,这其实就是通过 ThreadLocal 来实现的: public static @Nullable Looper myLooper() { //从Threa原创 2020-06-29 17:32:46 · 262 阅读 · 0 评论 -
Android四大组件 - Service使用解析
Service是Android实现程序后台任务的解决方案,非常适合处理一些不需要与用户交互但又要长期运行的任务。但不要被它的“后台”二字所欺骗,Service默认并不是运行在子线程中的,他同样和Activity一样运行在UI线程。所以需要在Service中执行耗时操作时,必须创建一个子线程来完成。 1. Service生命周期 Service的生命周期比Activity来说简单得多,只有3个,分别...原创 2019-06-27 10:57:35 · 217 阅读 · 0 评论 -
Android四大组件 - 广播机制使用解析
标准广播 是一种完全异步执行的广播,在广播发出后,所有的广播几乎会在同一时刻收到这条广播消息,它们之间没有任何先后顺序可言。它是无法被截断的 有序广播 是一种同步执行的广播,在广播发出后,同一时刻只有一个广播接收器能收到这条广播消息,当这个广播接收器的逻辑执行完毕后,广播才会继续传递。优先级高的广播可以先接到消息,它是可以被截断的,截断后后面的广播接收器将无法接收到广播消息 动态注册广播 首先...原创 2019-07-01 20:58:26 · 349 阅读 · 0 评论 -
Android四大组件 - Activity的生命周期和启动模式
Activity是Android提供给开发者的四大组件之一,主要作用是展示视图、与用户进行交互。当用户初次启动Activity时、当用户执行跳转到另外一个Activity或切换到其他应用时,Android都会调用Activity的一系列生命周期方法,开发者可以在相应的生命周期方法处理一些必要的操作。 生命周期 ...原创 2019-06-25 08:48:57 · 284 阅读 · 0 评论 -
用一个简单的登录例子了解MVP思想
相信大家都或多或少的了解过MVP(全称:Model View Presenter)架构,MVP是从MVC演变过来的。MVC模式中,Activity即充当VIew又充当了Controller,使得Activity内的代码十分臃肿,难以进行维护,而MVP模式就很好的解决了这个问题。学习MVP架构对于自身的面向对象的理解也能更加深刻。 上面这张图片就可以很清晰的看出MVP各层之间的交互,其中: Mo...原创 2019-06-20 21:59:32 · 354 阅读 · 0 评论 -
一个简单的自定义圆角ImageView
最近在学自定义View的过程,然后想到有个很常用的圆形头像View,想自己动手实现一下,以为自己应该可以实现一个简单的圆角ImageView,真正写起来才发现还有很多知识点不懂。起初的思路是想把图片画上去然后扣个圆出来,然后发现图片画上去了不知道怎么扣,这就很尴尬了。最终实在不行就跟着鸿洋大神的文章实现了一个,看完才发现,卧槽,还能这样。果然是基础不够哇。下面是文章的链接,实现过程代码 ...原创 2019-04-25 20:15:02 · 1458 阅读 · 0 评论 -
使用Intent跳转活动
Intent大致可以分为两种:显示Intent和隐式Intent 1. 显示Intent button.setOnclickListener(new View.OnClickListener(){ @Override public void onClick(View v) { Intent intent = new Intent(FirstActivity.this, SecondActi...原创 2019-03-21 09:51:02 · 417 阅读 · 0 评论 -
通过源码分析Anroid消息处理机制
前言 最近通过微信公众号推文以及博客文章学习了Android的消息机制的原理,然后抽空写下了这篇文章,对自己学到知识进行梳理,也方便以后自己查阅。 主线程不处理耗时操作,子线程不更新UI Handler消息处理机制在Android中占有非常重要的地位 消息机制的大概流程: 系统启动后,系统主线程会创建一个Looper对象,然后调用Looper.loop()开启一个死循环,循环会不断地从消息队列...原创 2019-03-08 22:25:04 · 211 阅读 · 0 评论 -
Handler内存泄漏分析与解决方法
内存泄露在 Android 开发中是一个比较严重的问题,系统给每一个应用分配的内存是固定的,一旦发生了内存泄露,就会导致该应用可用内存越来越小,严重时会发生 OOM 导致 Force Close,所以在平时的开发中应该避免引发内存泄漏原创 2019-01-11 09:40:56 · 264 阅读 · 0 评论 -
Android Studio中上传项目到码云时的一些问题
最近工作室开展以交流栈分享所学的知识,需要把代码上传到码云,然后我按照网上的一些教程上传的时候,却遇到了很多的问题,下面是对我遇到的问题的总结。如果还不知道怎么把Android Studio中的项目上传到码云的可以看下面的一条博客,里面写的挺详细的: http://blog.youkuaiyun.com/lei_notes/article/details/53287447 我按照上面的步骤弄完之后,无法上传原创 2017-10-15 20:08:10 · 1201 阅读 · 0 评论