Android学习笔记
文章平均质量分 94
钮祜禄·韭菜兽
这个作者很懒,什么都没留下…
展开
-
Glide使用与分析
一.使用1.配置依赖在 app 层 build.gradle 中添加依赖 :dependencies { ... implementation 'com.github.bumptech.glide:glide:4.9.0' annotationProcessor 'com.github.bumptech.glide:compiler:4.9.0' annotationProcessor 'androidx.annotation:annotation:1.1.0'原创 2022-04-17 15:09:51 · 2524 阅读 · 0 评论 -
Android内存泄漏探究
一.什么是内存泄漏内存泄漏(英语:Memory leak)是在计算机科学中,由于疏忽或错误造成程序未能释放已经不再使用的内存。 — — — 维基百科二.内存泄漏的影响使得应用程序容易发生 OOMAndroid系统为每个应用分配的内存有限,若程序的发生的内存泄漏较多,会导致所需原创 2022-04-17 15:02:58 · 1868 阅读 · 0 评论 -
Android学习笔记15-从源码分析Activity的创建过程
Android学习笔记15-从源码分析Activity的创建过程文章目录Android学习笔记15-从源码分析Activity的创建过程问题一 , Activty概述:二 , Activity的工作过程1.从参数 `AcitivityClientRecord` 对象中获取待启动的 Activity 的信息:2.通过 _Instrumentation.newActivity()_方法使用类加载器...原创 2019-06-05 13:28:53 · 196 阅读 · 0 评论 -
Android学习笔记14-从源码分析Toast的创建过程
Toast.show()显示一个Toast只需要调用它的show()方法,看一下源码/**109 * Show the view for the specified duration.110 */111 public void show() {112 if (mNextView == null) {113 throw new ...原创 2019-05-13 01:37:44 · 223 阅读 · 0 评论 -
Android学习笔记13-Acitivty与Fragment通信
1,概述首先,如果要实现Activity与其他的Fragment之间实现通信,那么这个Fragment需要拥有一个独立的Layout文件,以便重用,并且以代码添加的方式出现在Activity中。这么做的好处在于我们可以把相关的业务逻辑写在这个Fragment中,减少它所依附的Activity中的代码。在官方文档中,建议我们在实现Fragment与其他Activity/Fragment通信的时...原创 2019-05-10 00:22:48 · 207 阅读 · 0 评论 -
Android消息机制全面解析(Handler,MessageQueue,Looper,Threadlocal)
文章目录(1),Android消息机制概述问题 : 大家都知道只有在UI线程才能对UI元素进行操作,在子线程更改UI就会报错,为什么?问题 : 那为什么不通过对访问UI控件的子线程加上锁机制呢 ?(2),ThreadLocal 工作原理1, 什么是ThreadLocal?2,ThreadLocal的实现原理3,ThreadLocal的使用场景场景1:场景2:(3),MessageQueue的工作...原创 2019-04-28 18:01:24 · 469 阅读 · 0 评论 -
Android图片加载那些事(二)-子线程中更新Adapter
前言项目遇到的需求:已有一个动态增长的图片列表,需要实现加载这个列表中的图片到手机屏幕.难点在于:图片列表是动态增长的,所以需要我们有一个线程能够一直监听这个列表的变化,得到图片列表新增加了哪些图片,然后再把新增加的图片加载到页面上.这里就涉及到子线程中更改UI的问题,当然子线程是不能更改UI元素的,所以需要配合Handler.其实也可以使用AsyncTask或者RxJava,Async...原创 2019-04-15 00:41:41 · 1552 阅读 · 2 评论 -
Android图片加载那些事(一)-实现加载手机中的所有图片
前言最近实验室的项目需要实现–在手机与单反的wifi连接之后,加载单反中的图片.这其中就涉及到我们在Android开发中经常遇到的功能-图片加载.关于图片加载,不同程度的实现也会遇到不同程度的问题可能起初我们只是想加载出来一张图片,这个问题很好解决.后来我们可能还要加载大量的图片(几百KB的那种)到页面上,这个也不是很难…但是如果想要优雅的做好符合用户体验的图片加载,如何做好缓存.下拉刷...原创 2019-04-14 22:54:04 · 973 阅读 · 3 评论 -
Android 实现自定义View能够随手全屏自由拖动
先上效果图,view是我自己通过继承View类随便画的.关键代码,在view中重写onTouchEvent方法:/** * 让view能够随手自由拖动 * @param event * @return */ @Override public boolean onTouchEvent(MotionEvent event) { ...原创 2019-03-31 22:00:26 · 1252 阅读 · 0 评论 -
Android View中MotionEvent的getRawX()与getX()区别以及View的坐标参数
getX():触摸点到当前View左边缘的距离.getRawX():触摸点到屏幕左边缘的距离.View的各个参数以下所有参数都有get/set方法,getTop(),getLeft()…getX()…top : View左上角的纵坐标left: View左上角的横坐标right : View右下角的横坐标bottom : View右下角的纵坐标View一旦完成绘制到屏幕...原创 2019-03-31 16:31:10 · 1046 阅读 · 0 评论 -
Android 线程池使用总结
Android 线程池使用总结1,为什么使用线程池在Java中,当我们想实现多线程程序的时候,通常会使用new 一个Thread来创建线程处理任务。如 :new Thread(new Runnable() { @Override public void run() { //do sth . ...原创 2019-03-07 00:14:08 · 543 阅读 · 0 评论 -
Android Studio 为app搭建CI 环境
Android Studio 为app搭建简单的CI(持续集成)环境在项目文件夹下,新建.gitlab-ci.yml文件before_script: - export ANDROID_HOME="/home/luckyxmobile/Android/Sdk" - chmod a+x ./gradlewstages: - build - testbuild: s...原创 2018-11-13 19:48:59 · 723 阅读 · 0 评论 -
Android学习笔记11-消息处理机制和AsyncTask
Android学习笔记11-Service后台服务(二)-异步消息处理机制和AsyncTask一,消息机制的简介在Android中使用消息机制,首先想到的是Handler,Handler是Android消息机制的上层接口,Handler的使用方法很简单,通过它可以把一个任务切换到Handler所在的线程中去执行,通常,Handler的使用场景就是更新UI。如在上一章中所用的例子publ...原创 2018-11-13 19:47:13 · 443 阅读 · 0 评论 -
Android学习笔记10-Service后台服务(1)
Android学习笔记10-Service后台服务(一)-Android 多线程编程1,Service简介Service时Android程序中的四大组件之一,它和Activity都是Context的子类,只不过Service没有UI界面,是在后台运行的组件。Service是Android平台中实现程序后台运行的解决方案,非常适合去执行那些不需要和用户交互而且还要长期运行的任务,服务的运行不依...原创 2018-11-13 19:45:51 · 1098 阅读 · 0 评论 -
Android学习笔记9-调用摄像头和相册
调用摄像头和手机的相册调用手机的摄像头和相机拍照的功能,在许多app中都非常常见,当我们用qq,微信,微博等app给别人分享图片时都会用到这个功能。1,调用摄像头拍照activity_main.xml布局代码<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas...原创 2018-11-13 19:44:25 · 2264 阅读 · 0 评论 -
Android学习笔记8-使用通知(Notification)
Android学习笔记8-使用通知(Notification)1.Notification简介通知是Android系统的一种特色的功能,当某个app希望给用户提示信息,但是该app又不在运行在前台时,就可以利用通知。发送一条通知后,手机上方的状态栏就会显示一个小图标,下拉状态栏,会显示通知的具体信息。实现代码public class MainActivity extends App...原创 2018-10-04 16:52:34 · 1636 阅读 · 0 评论 -
Android学习笔记6-跨程序共享数据-ContentProvider
1,内容提供器简介1,内容提供器(ContentProvider) 主要用于在不同的应用程序之间实现数据共享额功能,它提供了一套完整的机制,允许一个程序访问另一个程序的数据,同时保证被访问的数据的安全性。2,使用内提供器是Android实现跨程序共享数据的标准形式。2,运行时权限Android开发团队在6.0系统中加入了运行时权限,用户可以不用在安装软件时一次性授权应用的所有申请的...原创 2018-10-03 11:43:40 · 491 阅读 · 0 评论