![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android
文章平均质量分 92
Aramis_twoY
这个作者很懒,什么都没留下…
展开
-
基于WebRTC实现音视频通话
就是开启交换的起点,交换的开启者应该是先进房间的人发起的,如果是一个多人的房间则新进来的人是没有建立连接的对象,其他已经在房间里建立连接的人都需要主动和他建立连接请求。发起方开启视频预览,关联相机画面到,本地的视屏流和音频流开启,在会话创建的时候就应该开启,PeerConnectionFactory是一个很核心关键的类,用于生成各种核心功能对象。进入呼叫界面,点击拒绝或者接受,接受后发送进入房间的消息给服务器,服务器添加用户到房间后发送进入成功的消息给本人,并且发送给所在房间的其他人新人进入的消息。原创 2024-07-05 16:31:30 · 1128 阅读 · 0 评论 -
Android | 进程保活与拉活
保活拉活的主要手段和原理代码梳理原创 2022-09-07 11:20:06 · 3343 阅读 · 0 评论 -
Android 应用构建 | Gradle基础 & 编写一个插件
Gradle1.定义:![image.png](https://img-blog.csdnimg.cn/img_convert/0d2a0f9e4bb95bfee51849d67c843051.png#clientId=u6849671e-e9de-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=77&id=u6fdd952a&margin=[object Object]&name=i原创 2022-05-10 10:23:02 · 501 阅读 · 0 评论 -
Android | 数据存储整理备忘
存储的类别Android 提供两类物理存储位置:内部存储空间和外部存储空间。在大多数设备上,内部存储空间小于外部存储空间,内部存储是手机系统自带的存储,一般空间都比较小,外部存储一般是SD卡的存储,空间一般都比较大,但不一定可用或者剩余空间可能不足。默认情况下,应用本身存储在内部存储空间中,可以在应用的清单文件中指明偏好设置,以便将应用安装到外部存储空间:<manifest ... android:installLocation="preferExternal"> ...<原创 2022-03-09 19:07:12 · 4045 阅读 · 0 评论 -
MotionLayout动画使用参考
MotionLayoutConstraintLayout的子类,是一种可以管理应用中的运动和微件动画的布局类型,关联手势和组件动画。支持在XML中完全描述一个复杂的动画。常规使用依赖implementation ‘androidx.constraintlayout:constraintlayout:2.0.0-rc1’布局<androidx.constraintlayout.motion.widget.MotionLayout xmlns:android="http://s原创 2021-12-25 16:23:23 · 1512 阅读 · 0 评论 -
Android实现自定义密码输入框
一、实现效果及方案预期效果图:如上图所示,要实现一个这种密码输入框的样式,原生并未提供类似的效果,所以需要自定义控件的方式实现。预期的基础效果:只接受数字;支持输入加密显示;支持删除;密码位数可配置;文字大小、颜色、数字框背景可配置;方案分析:需要解决的问题:配置性;输入、删除如何实现?整体UI如何实现?1.对于输入删除可以通过setOnKeyListener监听软件盘的事件。2.可配置性数据可以通过自定义的属性文件配置;3.对于UI效果:A:可以基于原生控件做开发,每一原创 2021-11-07 10:40:25 · 6419 阅读 · 3 评论 -
Android优化工具及常用方法
Android优化工具及常用方法前言一、优化方向二、常用工具SystraceLayout InspectorCloneographerStrictModeProfile总结前言大部分的时间都在做业务开发,优化方面的工作其实相对占比较少,但也总会出现一些莫名其妙的问题,比如卡顿丢帧,必要的优化方法和工具还是要了解的。此处只做一下备忘和记录,至于具体深层次的使用网上有大佬写的已经很详细了,推荐极客时间张绍文的Android开发高手课程,里面对性能优化做了很明确的引导,但有些难度,追求深度的话可以研究,但文原创 2021-08-20 17:36:19 · 390 阅读 · 0 评论 -
Kotlin | DSL
这里写目录标题KotlinDSL篇(一)前言一、What's the DSL?二、使用步骤1.引入库2.读入数据总结二、使用步骤1.引入库2.读入数据总结三级目录KotlinDSL篇(一)提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:第一章 Python 机器学习入门之pandas的使用提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录KotlinDSL篇(一)前言一、What's the DSL?二、使用步骤1.引入库2.读入数据总结二、使用步骤原创 2021-07-24 16:36:32 · 2480 阅读 · 3 评论 -
Android启动模式选用存在的问题
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言出现的问题二、使用步骤1.引入库2.读入数据总结前言 当前迭代的项目Muza在1.48版本中加入一对一视频通话的功能,场景与微信视频通话类似,在私信界面发起方发起进入视频界面,接收方收到视频邀请进入视频,接收方接受后开始通话。功能的搭建基于声网的SDK,但在开发测试环节出现了启动模式相关的问题。出现的问题对于双方视屏交互界面的Activity,考虑到要做退出小窗悬浮,以及视屏功能对于整个APP来说同一时刻唯原创 2020-12-03 21:04:19 · 203 阅读 · 0 评论 -
关于内存的小结
关于内存:一:OOM原因分析项目OOM设备信息截图:8.0系统以下发生OOM的频率较高。Bitmap图片是造成OOM的主要原因。应用程序的内存分配和垃圾回收都是由Android虚拟机完成的,在Android 5.0以下,使用的是Dalvik虚拟机,5.0及以上,则使用的是ART虚拟机。系统变更Bitmap在内存中分配位置的变化:1.Android 3.0之前是存放在Java堆内存中,像素数据存储在Native heap中,如果不手动调用 recycle,Bitmap Native 内存的回收原创 2020-06-01 17:45:07 · 158 阅读 · 0 评论 -
Android中的ActivityThread和ApplicationThread
一:ActivityThread和ApplicationThread1.ActivityThread:主线程、UI线程,程序的入口(main函数),不是线程是运行在主线程中的一个对象主要的成员变量如下: mActivities、mServices和mProviderMap 这三个变量保存了应用中所有的对应组件(相对生命周期长的,BroadcastReceiver生命周期很短暂);main方法中:public static void More …main(String[] args) {原创 2020-06-01 17:34:47 · 2409 阅读 · 0 评论