android基础知识
文章平均质量分 85
android基础知识,一些Android相关基础的知识
奋斗的bigHead
做一个有思想的人,实事求是,笃学诚行
展开
-
Android Drawable 快速复制粘贴魔板
BitmapDrawable 例子antialias:是否开启图片抗锯齿功能。dither:是否开启抖动效果。gravity:可以配置图片的显示位置,如果控件的宽高大于图片的话,可以设置具体显示的位置tileMode:平铺模式。“disabled” “clamp” “repeat” “mirror”<?xml version="1.0" encoding="utf-8"?>...原创 2020-04-07 20:13:24 · 484 阅读 · 0 评论 -
面试必问之Android界面跳转时的生命周期
简单介绍一下后面用到的 Activity:FirstActivity:当前 App 的默认启动 Activity。界面中包含一个点击可跳转到 SecondActivity 的 button。SecondActivity:上面 FirstActivity 跳转的 Activity,界面包含一个点击 finish 当前 Activity 的 button。很简单。咱们先看一下 andro...原创 2019-12-16 16:15:36 · 996 阅读 · 0 评论 -
解决Activity启动黑白屏问题
先上图。注意看底部,点击图标时会直接显示icon,然后在加载SplashActivity的View。使用的机型是oneplus 5t ,系统是android9.0。首先要说明的是无论是APP启动,还是startActivity都是Activity的启动,最后都是ActivityManagerService启动一个新的Activity。咱们先看一下闪屏的原因。闪屏的原因当点击桌面的launc...原创 2019-12-02 14:01:49 · 580 阅读 · 0 评论 -
Activity中的四种启动模式
配置清单文件可配置的launchmodestandard:这个是android默认的Activity启动模式,每启动一个Activity都会被实例化一个Activity,并且新创建的Activity在堆栈中会在栈顶。singleTop:如果当前要启动的Activity就是在栈顶的位置,那么此时就会复用该Activity,并且不会重走onCreate方法,会直接它的onNewIntent方法...原创 2019-10-31 18:18:38 · 254 阅读 · 0 评论 -
ViewGroup事件分发机制
小结每次按下直到取消或者抬起,都会进行一次事件分发。事件分发是由Activity传递给Window,Window传递给DecorView实际就是ViewGroup的dispatchTouchEvent这个方法进行分发。如果ViewGroup的dispatchTouchEvent方法回false,那么只会响应ACTION_DOWN的事件,其它事件不再响应。如果ViewGroup的dispat...原创 2019-10-31 09:12:14 · 191 阅读 · 0 评论 -
View的事件分发机制
View的两个重要方法dispatchTouchEvent(MotionEvent event) 负责事件分发,事件是从这个方法开始分发的。onTouchEvent(MotionEvent event) 触摸事件。dispatchTouchEvent(MotionEvent event)源码分析public boolean dispatchTouchEvent(MotionEvent ...原创 2019-10-30 20:19:46 · 185 阅读 · 0 评论 -
Activity的事件分发机制
MotionEvent的4种类型事件类型具体动作MotionEvent.ACTION_DOWN按下(所有事件的开始)MotionEvent.ACTION_UP抬起MotionEvent.ACTION_MOVE滑动MotionEvent.ACTION_CANCEL结束事件(非人为原因)事件分发的本质是将点击事件(MotionEvent)传递到某个...原创 2019-10-30 20:12:51 · 640 阅读 · 0 评论 -
客户端HTTP请求优化实战
转自 https://zhuanlan.zhihu.com/p/31927387一、引言对每个APP来说,网络请求必不可少,虽然有大把现成的框架能帮助我们轻松的完成这项工作,但是实际考究效果时,会发现经常有用户反应请求很慢,页面刷不出来,菊花转不停等问题,可见其中还是存在不少优化空间的,这篇文章就烫爷在项目中对HTTP请求做的优化,做一个简单的梳理。二、数据采集要解决问题,必先分析问题,要...转载 2019-10-30 15:15:07 · 454 阅读 · 0 评论 -
MVP和MVC的简单介绍
Model View Presenter vs Model View Controller简介在我工作中经常需要处理一些由于开发人员没能很清楚地理解MVC和MVP模式的区别的情况下使用它们而产生的问题。在这篇文章中我将会阐述一下我对两者之间区别的一些理解。 在N层体系结构中MVC/P 模式仅仅只是用于表示层(presentation layer),理解这一点很重要。这两个模式并不是关于怎么构建数据原创 2017-04-27 15:38:44 · 546 阅读 · 0 评论 -
Android常用adb命令总结
Android Debug Bridgeadb的全称为Android Debug Bridge,就是起到调试桥的作用。adb是android sdk里的一个工具, 用这个工具可以直接操作管理android模拟器或者真实的android设备, SDK Tools 目录下的 DDMS、Monitor 等工具,都是同样地用到了 adb 的功能来与 Android 设备进行交互。adb 使用的端口号...原创 2018-12-11 11:00:22 · 326 阅读 · 0 评论 -
Android系统适配
Android 6.0、7.0、8.0、9.0适配https://www.jianshu.com/p/a8fd3d1fa0a3原创 2019-01-04 10:07:11 · 638 阅读 · 0 评论 -
Android JNI的简单学习
比较不错的入门文章,作者讲的很详细:Android JNI(一)——NDK与JNI基础https://www.jianshu.com/p/87ce6f565d37Android JNI学习(二)——实战JNI之“hello world”https://www.jianshu.com/p/b4431ac22ec2Android JNI学习(三)——Java与Native相互调用https...原创 2019-01-02 17:45:56 · 302 阅读 · 0 评论 -
android handler的警告Handler Class Should be Static or Leaks Occur
在使用Handler更新UI的时候,我是这样写的:public class SampleActivity extends Activity { private final Handler mLeakyHandler = new Handler() { @Over...原创 2019-02-01 16:20:43 · 258 阅读 · 0 评论 -
Android布局优化Merge的使用
Android布局优化Merge的使用原创 2019-03-19 18:06:43 · 662 阅读 · 0 评论 -
非直接方式实现Glide4.x版本图片部分圆角功能
glide4.x实现图片部分圆角功能原创 2019-03-12 18:03:50 · 1635 阅读 · 0 评论 -
okhttp可以加载数据但是Gson解析异常
记录一个bugokhttp可以正常加载到数据,但是Gson解析的时候出现了问题。原因:开启了混淆而没有添加实体类包的Gson混淆最近重拾原先的一个mvp架构突然发现okhttp加载数据成功但是解析异常。折腾了一天后来发现是因为在debugbuildTypes { debug { //启用multiDex的支持 multiDex...原创 2019-03-13 12:46:13 · 513 阅读 · 0 评论 -
您真的懂fragment的onResume,setUserVisibleHint,onHiddenChanged,isVisible方法吗!
您真的懂fragment的onResume,setUserVisibleHint,onHiddenChanged,isVisible方法吗!转载 2019-04-29 18:02:50 · 282 阅读 · 0 评论 -
android从启动到主页面经历了哪些过程
本文以图文并茂的形式简单介绍一个APP从启动到主页面显示经历了哪些流程,以及实现的原理。不介绍具体源码,仅仅构建一个大体框架。一、流程概述启动流程:①点击桌面App图标,Launcher进程采用Binder IPC向system_server进程发起startActivity请求;②system_server进程接收到请求后,向zygote进程发送创建进程的请求;③Zygote进程fo...原创 2018-11-19 12:55:45 · 367 阅读 · 0 评论 -
Android Studio的Gradle更新慢解决方案
1.Gradle下载地址http://services.gradle.org/distributions/ 2.gradle的路径3.项目引用的gradle版本4.下载完成后在 里面解压5.重启android studio原创 2017-11-07 16:15:31 · 732 阅读 · 0 评论 -
Android 缓存浅谈(三级缓存)
引用 http://blog.csdn.net/zxw136511485/article/details/52153287浅谈目前缓存机制使用大致流程是,当App需要加载某一张图片时,先去手机内存中去找该图片,如果有,那么直接显示,如果无,则去手机sd卡或者手机外部存储中找该图片,如果有,那么直接显示,如果无,那么此时才去网络下载该图片。这种机制常称为三级缓存策略。 三级缓存策略,首先原创 2017-09-21 15:14:57 · 5996 阅读 · 0 评论 -
Android自定义View-圆环
import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.graphics.RectF;import android.support.annotation.Nullable;原创 2017-05-27 15:20:43 · 397 阅读 · 0 评论 -
Android二维码生成器工具类
首先需要 在app的gradle中 注释很详细了import android.graphics.Bitmap;import android.graphics.Matrix;import com.google.zxing.BarcodeFormat;import com.google.zxing.EncodeHintType;import com.google.zxing.WriterEx原创 2017-04-24 15:53:51 · 640 阅读 · 0 评论 -
如何在Android Studio中创建jniLib和asset文件夹
1.创建asset文件夹和jnilib文件夹原创 2016-12-09 10:00:57 · 8668 阅读 · 0 评论 -
Okhttp的Post请求参数在Interceptor中修改
okhttpPost请求参数在Interceptor请求修改原创 2016-12-07 17:43:28 · 6983 阅读 · 5 评论 -
Android系统文件目录路径说明
Android 存储路径原创 2017-11-08 11:28:15 · 9628 阅读 · 0 评论 -
rxJava1.x升级到rxJava2.x
http://blog.csdn.net/qq_35169177/article/details/57406390 rxJava 2.x Observable回调observeOn报错的问题 http://www.jb51.net/article/114765.htm RxJava 1升级到RxJava 2过程中踩过的一些“坑” https://zhuanlan.zhihu.com/p/24原创 2018-01-04 15:22:12 · 204 阅读 · 0 评论 -
Android常用adb命令总结
Android Debug Bridgeadb的全称为Android Debug Bridge,就是起到调试桥的作用。adb是android sdk里的一个工具, 用这个工具可以直接操作管理android模拟器或者真实的android设备, SDK Tools 目录下的 DDMS、Monitor 等工具,都是同样地用到了 adb 的功能来与 Android 设备进行交互。adb 使用的端口号是 5...转载 2018-03-16 15:02:55 · 505 阅读 · 0 评论 -
简单理解Binder机制的原理
概述Binder是Android系统中进程间通讯(IPC)的一种方式,也是Android系统中最重要的特性之一。Android中的四大组件Activity,Service,Broadcast,ContentProvider,不同的App等都运行在不同的进程中,它是这些进程间通讯的桥梁。正如其名“粘合剂”一样,它把系统中各个组件粘合到了一起,是各个组件的桥梁。当然也存在部分其他的IPC方式,如管...原创 2018-11-14 17:38:55 · 389 阅读 · 0 评论 -
Dalvik虚拟机与JVM的区别
1.java虚拟机运行的是Java字节码,Dalvik虚拟机运行的是Dalvik字节码;传统的Java程序经过编译,生成Java字节码保存在class文件中,java虚拟机通过解码class文件中的内容来运行程序。而Dalvik虚拟机运行的是Dalvik字节码,所有的Dalvik字节码由Java字节码转换而来,并被打包到一个DEX(Dalvik Executable)可执行文件中Dalvik虚拟机...原创 2018-11-09 16:13:36 · 657 阅读 · 0 评论 -
Android处理大图,如一张30M的大图,如何预防OOM
Android的内存溢出是如何发生的?Android的虚拟机是基于寄存器的Dalvik,它的最大堆大小一般是16M,有的机器为24M。因此我们所能利用的内存空间是有限的。如果我们的内存占用超过了一定的水平就会出现OutOfMemory的错误。为什么会出现内存不够用的情况呢?我想原因主要有两个:程序本身运行就占有一定的内存,而程序在使用较大的bitmap时,又需要一个更大的内存空间。控制...原创 2018-09-03 10:10:11 · 3444 阅读 · 0 评论 -
Android消息角标
前言:android原生系统是不支持角标的,需要厂商自己实现,所以接口需要分别实现。项目需求,目前只在三星和小米上实现了角标功能。没有找到华为和魅族的实现方法。 怎么区分手机类型//小米手机Build.MANUFACTURER.equalsIgnoreCase("Xiaomi");//三星手机Build.MANUFACTURER.toLowerCase().contains("samsung原创 2016-11-11 12:42:02 · 4659 阅读 · 3 评论