Android开发中线程池源码解析
线程池(英语:thread pool):一种线程使用模式。线程过多会带来调度开销,进而影响缓存局部性和整体性能。而线程池维护着多个线程,等待着监督管理者分配可并发执行的任务。这避免了在处理短时间任务时创建与销毁线程的代价。线程池不仅能够保证内核的充分利用,还能防止过分调度。可用线程数量应该取决于可...[2021/11/23]
Android自定义样式圆角dialog对话框
本文实例为大家分享了Android创建自定义样式圆角dialog对话框的具体代码,供大家参考,具体内容如下
效果如上,圆角对话框,标题和正文都可以自己设定
做法:
1.在res文件的layout文件夹创建自己的对话框布局,命名为my_dialog.xml
2.在res文件的dr...[2021/11/15]
Android开发实现抽屉菜单
本文实例为大家分享了Android开发实现抽屉菜单的具体代码,供大家参考,具体内容如下
实现效果
点击菜单图表即可进入抽屉
代码实现
1、打开app/build.gradle文件,在dependencies闭包中添加如下内容:
dependencies {
...[2021/11/15]
Android Studio实现补间动画
本文实例为大家分享了Android Studio实现补间动画的具体代码,供大家参考,具体内容如下
补间动画是给出初始位置和结束位置,中间由系统自动补充的动画
1、补间动画的配置文件:scale.xml
2、布局文件:animal_patching.xml
3、main.java
...[2021/11/15]
Android Studio实现帧动画
本文实例为大家分享了Android Studio实现帧动画的具体代码,供大家参考,具体内容如下
按一定的顺序播放静态的图片
1、几张联系的图片
2、一个图片资源管理布局文件:cartoon_source.xml
3、一个主要的布局文件:cartoon.xml
4、main...[2021/11/15]
Android自定义实现日历控件
本文实例为大家分享了Android自定义实现日历控件的具体代码,供大家参考,具体内容如下
1. Calendar类
2. 布局
创建calendar_layout.xml
<LinearLayout xmlns:android="http: chemas.androi...[2021/11/15]
Android使用ContentProvider实现查看系统短信功能
本文实例为大家分享了使用ContentProvider实现查看系统短信功能的具体代码,供大家参考,具体内容如下
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearL...[2021/11/15]
Android利用ContentProvider读取短信内容
本文实例为大家分享了Android利用ContentProvider读取短信内容的具体代码,供大家参考,具体内容如下
首先,我们来看下运行效果
运行效果如下:
展示短信内容的效果如下:
布局文件(activity_sms.xml)
<?xml ...[2021/11/15]
Android利用Sensor实现传感器功能
本文实例为大家分享了Android利用Sensor实现传感器的具体代码,供大家参考,具体内容如下
一、传感器的使用
1、传感器的类型:
方向传感器::Sensor.TYPE_ORIENTATION
加速度(重力)传感器:sensor.TYPE_ACCELEFOMETER
光线传感器:...[2021/11/15]
Android利用SoundPool实现音乐池Android利用SoundPool实现音乐池
本文实例为大家分享了Android利用SoundPool实现音乐池的具体代码,供大家参考,具体内容如下
运行效果图如下:
布局文件(activity_sound_pool.xml)
<?xml version="1.0" encoding="utf-8...[2021/11/15]
Android自定义密码输入框的简单实现过程Android自定义密码输入框的简单实现过程
目录一、实现效果及方案二、实现总结 一、实现效果及方案
预期效果图:
如上图所示,要实现一个这种密码输入框的样式,原生并未提供类似的效果,所以需要自定义控件的方式实现。
预期的基础效果:
只接受数字;
支持输入加密显示;
支持删除;
密码位数可配...[2021/11/9]
Android MaterialCardView的使用介绍与示例
Android—MaterialCardView的使用
我们的征程是星辰大海,而非人间烟尘
文章目录 Android---MaterialCardView的使用演示xml布局其他的属性
演示
xml布局
<com.google.android.materi...[2021/11/9]
Android开发文件存储实例
Android的文件存储,有I/O流的方式存储,与java一样,还有一种Android自己的SharePreferences存储方法。
下面看一个例子:
用I/O流的方式存储方法和SharePreferences存储方法,存放QQ账号和密码,再次进入页面时,把存储在文件中的账号密码显示...[2021/11/9]
Android banner的使用详解与示例
目录效果图:添加依赖添加权限到你的 AndroidManifest.xml布局文件逻辑代码常见的一些属性设置方法Attributes属性 Android----banner使用详解
昨天10.31 ,斗破苍穹的三年之约终于出来了,自己也等了很久很久,敬师长,敬家人,敬朋友,敬每一个前行路上...[2021/11/9]
Android Studio和阿里云数据库实现一个远程聊天程序
没有阿里云数据库的可以买个最便宜的,我是新用户9.9元买了一个
1.买到后点击左上角的工作台
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
1...[2021/11/9]
Android 详解沉浸式状态栏的实现流程
目录去掉标题栏效果引入依赖沉浸状态栏颜色沉浸状态栏图片 Android—沉浸式状态栏
我们的征程是星辰大海,而非人间烟尘
去掉标题栏
首先去掉对应主题下面的Android自带的ActionBar,只需要在对应主题下面加NoActionBar
效果
引入依赖
...[2021/11/8]
Android性能优化方案详情
目录1、指标
2、包大小优化3、响应时间优化
4、内存优化5、CPU优化6、耗电量优化 前言:
上一个季度在百度工作挺忙碌,在最后期限完成了OKR目标,因此有一段时间没有写文章。今天趁有机会想分享下在大型Android项目工程内的一些性能优化方式。
1、指标
量化性能的指标有很多,但...[2021/11/8]
Android 调用设备已有的相机应用详情
目录1、拍照1.1 请求相机功能1.2 调用相机应用拍照获得缩略图1.3 调用相机应用拍照获得完整图片1.4 相机应用返回缩略图,完整图片2、保存文件的配置3、录制视频3.1 调用相机应用录制视频3.2 相机应用返回视频
如果我们只是需要让用户能够拍摄照片,则可以直接请求已有相机应用拍摄照片并将...[2021/10/25]
Android传感器数据获取的方法Android传感器数据获取的方法
本文实例为大家分享了Android传感器数据获取的具体代码,供大家参考,具体内容如下
接着上篇wifi列表获取,我们这篇接着说传感器。还是看代码
我们先自己定义一个传感器的工具类(因为我这边只是获取了部分的传感器,需要获取额外的传感器自己配置一下就行了,工具类通过重载提供了不同的构造方法)...[2021/10/19]
Android采集传感器数据并显示的方法Android采集传感器数据并显示的方法
本文实例为大家分享了Android采集传感器数据并显示的具体代码,供大家参考,具体内容如下
需要的知识
Android 项目主配置文件 AndroidManifest.xml
Android Activity 概念
Android Sensor 接口
...[2021/10/19]
理解关于Android系统中轻量级指针的实现
智能指针来源
引发指针错误情况表现常常有如下几个表现情况:
1.申请了内存空间,但是忘记释放指针所指向的对象占用的内存空间。
2.使用了无效的指针。
因此在android的C++代码部分采用了智能指针的技术。智能指针通过一种能够自动危害对象引用计数的技术。来解决C++中指针存在的缺陷问题。...[2021/10/8]
一文理解Android系统中强指针的实现
强指针和弱指针基础
android中的智能指针包括:轻量级指针、强指针、弱指针。
强指针:它主要是通过强引用计数来进行维护对象的生命周期。
弱指针:它主要是通过弱引用计数来进行维护所指向对象的生命周期。
如果在一个类中使用了强指针或者弱指针的技术,那么这个类就必须从RefBase这个类进行...[2021/10/8]
python编程控制Android手机操作技巧示例
目录你应该拥有的东西安装
开始
轻敲
截图高级点击
TemplateMatching滑动打电话给某人从手机下载文件到电脑
手机录屏打开手机发送 Whatsapp 消息
几天前我在考虑使用 python 从 whatsapp 发送消息。和你们一样,我开始潜伏在互联网上寻找一些解决方案并找到了关于...[2021/10/8]
Android接入USB扫码模块的方法
前言
USB扫码模块可以是扫描盒子或者扫码枪之类的,一根USB线作为供电和数据通信使用,有些扫码模块支持虚拟串口模式,虚拟串口模式读取数据会比较简单一点,和普通的串口一样操作即可,就是通过虚拟串口口+波特率即可获取到数据,这里主要讲读取USB模式下的数据。
1.读取USB模式下的数据
...[2021/9/28]
Android实现USB扫码枪获取扫描内容
最近做了关于在Android设备上外接扫码的项目,在此记录一下关于Android USB扫码枪获取内容的问题
首先我这边使用是USB HID的扫码枪,即插即用,只需要在界面上有一个带有焦点的EditText ,就可以获取扫码枪扫描的内容。
是不是感觉很简单,但是今天我这里是讲的是在没有Ed...[2021/9/28]
android读取扫码模组数据的方法
本文实例为大家分享了android读取扫码模组数据的具体代码,供大家参考,具体内容如下
android读取扫码模组数据 **在dispatchKeyEvent方法中承接读取的数据**
在dispatchKeyEvent方法中承接读取的数据
private StringBuild...[2021/9/28]
Android应用实现点击按钮震动Android应用实现点击按钮震动
本项目为大家分享了Android应用实现点击按钮震动的具体代码,供大家参考,具体内容如下
项目中需要实现点击应用中的按钮,有震动效果。震动效果可以在设置中进行关闭。
具体实现如下。
编写震动帮助类:VibrateHelp.java
import android.conten...[2021/9/27]
Android实现视频的画中画功能
简介: Android 8.0(API 级别 26)允许以画中画 (PIP) 模式启动 Activity。画中画是一种特殊类型的多窗口模式,最常用于视频播放。使用该模式,用户可以通过固定到屏幕一角的小窗口观看视频,同时在应用之间进行导航或浏览主屏幕上的内容。
画中画窗口会显示在屏幕的最上层,位...[2021/8/26]
Android实现自动朗读功能(TTS)
前言: Android提供了自动朗读支持。可以对指定文本内容进行朗读,从而发生声音;还允许把文本对应的音频录制成音频文件,方便以后播放。Android的自动朗读主要通过TextToSpeech来完成,构造器如:TextToSpeech(Context context, TextToSpeech.O...[2021/8/26]
Android Broadcast原理分析之registerReceiver详解
目录1. BroadcastReceiver概述2. BroadcastReceiver分类3. registerReceiver流程图4. 源码解析4.1 ContextImpl.registerReceiverInternal4.2 LoadedApk.getReceiverDispatcher...[2021/8/26]
Android 使用registerReceiver注册BroadcastReceiver案例详解
android.context.ContextWrapper.registerReceiver
public Intent registerReceiver (BroadcastReceiver receiver, IntentFilter filter)
Register ...[2021/8/26]
详解Android 裸眼3D效果View控件
描述:这是一个裸眼3D效果的控件View。
Tips:本项目代码部分逻辑参考于其他文章(自如的3D裸眼实现),众人拾柴火焰高,希望大家能多多补充。
项目代码:https: gitee.com/jiugeishere/uidesign
控件效果如下:
实现功能:
实...[2021/8/16]
实例详解Android中JNI的使用方法
目录前言1.导入C语言的类
2.接着导入Android.mk文件
3.我们配置一下build.gradle文件4.好了,此时可以编译一下项目了5.此时我们可以找一下我们生成的so包了6.将生成的so文件拷入src/main/jniLibs中7.调用C语言方法的Activity如下总结 前言
做A...[2021/8/5]
如何通过Battery Historian分析Android APP耗电情况
一、电量统计模块概述
耗电信息在设置 -> 电量中能够非常直观的看到。注意,Android 所有功耗统计都是通过代码估算,没有集成电路参与汇报。准确度取决于厂商 ROM 所提供的power_profile.xml文件。由于不同厂商power_profile.xml准确度及源码有差异,因此不...[2021/6/28]
深入理解Android热修复技术原理之代码热修复技术
一、底层热替换原理
1.1、Andfix 回顾
我们先来看一下,为何唯独 Andfix 能够做到即时生效呢?
原因是这样的,在 app运行到一半的时候,所有需要发生变更的分类已经被加载过了,在Android 上是无法对一个分类进行卸载的。而腾讯系的方案,都是让 Cla loader去加载新...[2021/6/28]
深入理解Android热修复技术原理之资源热修复技术深入理解Android热修复技术原理之资源热修复技术
一、普遍的实现方式
目前市面上的很多资源热修复方案基本上都是参考了 Instant Run的实现。
简要说来,Instant Run中的资源热修复分为两步:
1.构造一个新的 A etManager,并通过反射调用 addA etPath,把这个完 整的新资源包加入到A etManage...[2021/6/28]
分析Android Choreographer源码
一、前言
目前大部分手机都是 60Hz 的刷新率,也就是 16.6ms 刷新一次,系统为了配合屏幕的刷新频率,将 Vsync 的周期也设置为 16.6 ms,每个 16.6 ms , Vsync 信号唤醒 Choreographer 来做 App 的绘制操作,这就是引入 Choreographe...[2021/6/28]
详解Android ContentProvider的基本原理和使用
一、前言
Android 的数据存储方式总共有五种,分别是:Shared Preferences、网络存储、文件存储、外储存储、SQLite。但一般这些存储都只是在单独的一个应用程序之中达到一个数据的共享,有时候我们需要操作其他应用程序的一些数据,就会用到 ContentProvider。而且 ...[2021/6/28]
Android系统编程入门系列之应用初始化Application
在上一篇文章中我们了解到Android系统启动应用的时候,会首先加载AndroidManifest.xml清单文件中的一系列信息,在清单文件中如果不指定<application></application>标签中的name属性值,会默认使用android.app.Appl...[2021/6/28]
Jetpack Compose和View的互操作性Jetpack Compose和View的互操作性
Jetpack Compose Interoperability
Compose风这么大, 对于已有项目使用新技术, 难免会担心兼容性.
对于Compose来说, 至少和View的结合是无缝的.
(目前来讲, 已有项目要采用Compose, 可能初期要解决的就是升级gradle plugin...[2021/6/28]
Android系统编程入门系列之清单文件
在上一篇文章中已经提到,Android系统加载应用程序之后,首先会读取该应用程序的AndroidManifest.xml清单文件,之后根据该清单文件加载后边的东西。所以要开发应用程序,自然要先知道清单文件中都记录了什么东西。一般地,在清单文件中声明定义的内容,称为静态注册,相对应地,可以在代码中...[2021/6/21]
写给Android开发的Nginx入门
介绍
高性能的web服务器,开源免费
一般用于做静态服务,负载均衡
用于反向代理
安装
Mac使用homeBrow安装,Centos使用yum安装
常用命令
# 重启nginx
nginx -s reload
# 停止nginx
nginx -s stop
# 测试...[2021/6/15]
如何让Android 支持HEIF 图片解码和加载(免费的方法)
字节跳动火山引擎ImageX提供了一种能力,可以支持客户端android 直接解码HEIF 和HEIC图片,经过测试发现,可以免费使用;
一、阅前准备
HEIF图片格式是什么?
高效率图像格式(High Efficiency Image Format ,HEIF)最早被苹果公司的 iPho...[2021/6/7]
为什么Android源码中都使用16进制进行状态管理?
前言
在Android源码中,对于“多状态”的管理总是通过16进制数字来表示,类似这种格式:
ViewGroup.java
protected int mGroupFlags;
static final int FLAG_CLIP_CHILDREN = 0x1;
private stat...[2021/6/7]
在 Android 使用 QuickJS JavaScript 引擎教程
quickjs-android 是 QuickJS JavaScript 引擎的 Android 接口框架,整体基于面向对象设计,提供了自动GC功能,使用简单。armeabi-v7a 的大小仅 350KB,是 Google V8 不错的替代品,启动速度比 V8 快,内存占用更低,支持 ES202...[2021/6/7]
又卡了~从王者荣耀看Android屏幕刷新机制
前言
正在带妹子上分的我,团战又卡了,我该怎么向妹子解释?在线等。
“卡”的意思
不管是端游还是手游,我们都会时不时遇到“卡”的时候,一般这个卡有两种含义:
掉帧
画面撕裂
那么问题来了,这些情况到底是什么原因导致的?又该怎么解决?
掉帧
首先,要知道帧是什么,帧率...[2021/6/7]
Android实现扫码功能Android实现扫码功能
本文实例为大家分享了Android实现扫码功能的具体代码,供大家参考,具体内容如下
1、引入
implementation ''com.journeyapps:zxing-android-embedded:3.5.0''
2、使用:
public void...[2021/5/31]
友盟+U-APM应用性能报告:Android崩溃率达0.32%,OPPO 、华为、VIVO 崩溃表现良好
?随着信息技术高速发展,移动互联几乎已成为了一种生活方式的代名词,在全民上网的数字热潮中,如何能最大程度保障产品服务的稳定性,提供良好的用户体验,是当前企业都需要思考和亟待解决的问题。App的应用性能稳定是良好用户体验中非常关键的一环,而现实情况却是应用崩溃、卡顿、加载缓慢、页面白屏等问题,频频...[2021/5/31]
Google I/O 2021 Android精华内容
Google I/O 2021结束了, 都有什么精彩内容呢?
Android部分的Playlist附上: Android & Play at Google I/O 2021
Developer Keynote (Google I/O ''21)
对于Android的部分来说, 主要...[2021/5/31]
Jetpack Compose What and Why, 6个问题
Jetpack Compose What and Why, 6个问题
1.这个技术出现的背景, 初衷, 要达到什么样的目标或是要解决什么样的问题.
Jetpack Compose是什么?
它是一个声明式的UI工具包(declarative UI toolkit for Android).
...[2021/5/24]