- 博客(85)
- 资源 (8)
- 收藏
- 关注
原创 LifeCycle之ProcessLifeCycleOwner
所有具有生命周期的组件都能够使用LifeCycle。包括Activity、Service、Fragment、Applicaption。LifeCycle组件存在的主要意义就是帮我们解耦,让自定义组件也能够感受到生命周期的变化。不需要再担心内存泄漏等问题。
2024-05-10 01:21:49 456
原创 什么是Jetpack
Jetpack 是一套组件库、工具,可帮助开发人员遵循最佳做法,减少样板代码并编写可在 Android 版本和设备上一致工作的代码,以便开发人员可以专注于他们关心的代码。
2024-05-10 01:20:39 191 1
原创 Android之启动优化
不在 Application 初始化非必要的第三方库,尽量在使用的时候初始化,例如地图平台、播放器框架等这些可以在使用的时候再初始化。
2024-04-14 23:52:47 369
原创 RxJava 操作符
是一种事件驱动的基于异步数据流的编程模式,整个数据流就像一条河流,它可以被观测(监听),过滤,操控或者与其他数据流合并为一条新的数据流。三要素Rxjava原理 基于 一种扩展的观察者模式的响应式编程框架RxJava原理可总结为:被观察者 (Observable) 通过 订阅(Subscribe) 按顺序发送事件 给观察者 (Observer), 观察者(Observer) 按顺序接收事件 & 作出对应的响应动作。
2024-03-27 00:09:05 352
原创 Flutter(踩坑)之Android sdkmanager tool not found
进入发现没有Android SDK Tools(Obsolete),重启As也不显示,然后重启了下电脑出现该选项了。将Hide Obsolete Packages这个选项勾选取消掉。可以多试几次,如果还是不行的话,可以参考。
2024-03-26 10:23:18 467
原创 电脑中Ip地址修改
第一步 在电脑上创建个文本,然后在文本中写如下内容将IP改为6网端 即182.168.6.xxx第二步 然后保存,将文件后缀.txt改为.bat第三步然后右键通过管理员身份运行即可,验证:通过Win+R,输入cmd,点击确定输入命令 ipconfig 然后回车即可如图。
2024-03-23 15:13:13 223
原创 上传视频报FileNotFoundException
上传时视频 返回视频地址:content:/com.android.providers.media.documents/document/video%3A1000001309: open failed: ENOENT (No such file or directory)
2024-03-12 16:27:54 348
原创 已解决 Error inflating class com.google.android.material.appbar.AppBarLayout
CoordinatorLayout、AppBarLayout
2023-12-26 19:59:05 610
原创 Android descendantFocusability 属性
通过该属性可以指定viewGroup和其子View到底谁获取焦点, 直接在viewGroup上使用就行。
2023-08-14 18:11:35 486
原创 ViewPager 和Fragment异常 java.lang.IllegalStateException: Fragment no longer exists for key
ViewPager 和Fragment异常 java.lang.IllegalStateException: Fragment no longer exists for key FragmentPagerAdapter&&FragmentStatePagerAdapter比较
2023-08-03 15:00:38 795
原创 Android View实现滑动的方式
实现View的滑动有三种方式 1. 通过View本身提供的scrollTo/scrollBy方法实现滑动2. 通过动画给View施加平移效果来实现滑动3. 通过改变View LayoutParams使得View重新布局从而实现滑动
2023-07-21 11:29:06 240
原创 TCP 与UDP区别
TCP是面向连接的,UDP是无连接的TCP是可靠的,UDP是不可靠的TCP是面向字节流的,UDP是面向数据报文的TCP只支持点对点通信,UDP支持一对一,一对多,多对多TCP报文首部20个字节,UDP首部8个字节TCP有拥塞控制机制,UDP没有。
2023-07-12 23:35:39 647
原创 JVM之垃圾回收机制
垃圾回收(GC)是由 Java 虚拟机(JVM)垃圾回收器提供的一种对内存回收的一种机制,它一般会在内存空闲或者内存占用过高的时候对那些没有任何引用的对象不定时地进行回收。
2023-07-11 22:15:41 229
原创 Android CrashHandler全局异常
Android 应用不可避免的会发生crash 即崩溃,无论程序写的多好,都会不可避免的发生崩溃,可能是由底层引起的,也有可能是写的代码引起的。当crash发生时,系统会kill掉正在执行的程序,现象是程序闪退或提升用户已停止运行。出现这种情况,开发者却无法得到程序为何crash。Android 提供了处理这类问题的方法。java的Thread中有一个UncaughtExceptionHandler接口,该接口的作用主要是为 了 当 Thread 因未捕获的异常而突然终止时,调用处理程序。
2023-07-04 15:29:04 946
原创 Android 通过采样率压缩图片
BitmapFactory类提供了四类方法:decodeResource、decodeFile、decodeByteArray、decodeStream,分别用于支持资源、文件、字节数组、输入流加载出一个Bitmap对象,其中decodeFile和decodeResource又间接调用了decodeStream方法,这四类方法是在Android的底层实现的。对应着BitmapFactory类的几个native 方法。
2023-07-04 15:02:17 487
原创 Android之RecyclerView 与 ListView 的主要区别
ViewHolderListView 需要自定义ViewHolder,判断convertView是否为null,setTag()与getTag()的使用;RecyclerView有规定好的ViewHolder。布局不同ListView 只支持垂直方向的,而RecyclerView,它里面的LayoutManager(布局管理类),有横向、竖向、瀑布流、网格等复杂的布局。数据更新ListView 数据刷新指的是全部数据刷新。RecyclerView支持局部数据刷新。
2023-07-03 17:02:10 619
原创 Android 之保护用户隐私-禁止应用截屏或录频
通常情况下,录屏、截图软件都可以在手机的运行过程中进行录屏、截图,但是在某些比较敏感的应用上,出于各种原因,会阻止录屏、截图软件进行运行。一旦录屏、截图软件被阻止运行就无法使用录屏以及截屏的功能。
2023-06-30 09:55:56 884
原创 Android 之 Handler
Android 的消息机制是基于Handler实现的。Handler 采用的是一种生产者-消费者模型,Handler 就是生产者,通过它可以生产需要执行的任务。而 Looper 则是消费者,不断从 MessageQueue 中取出Message 对这些消息进行消费。MesageQueue是在底层调用native方法去创建的,本质是一个单链表;一个线程只能有一个Looper,对应一个MessageQueue。
2023-06-27 19:46:40 852
原创 GLsurfaceview、SurfaceView和View的区别
view是最基础的,必须在UI主线程内更新画面,速度较慢。SurfaceView 是view的子类,类似使用双缓机制,在新的线程中更新画面所以刷新界面速度比view快GLSurfaceView 是SurfaceView的子类,opengl 专用的
2023-06-27 15:41:43 363
原创 Okhttp之五种拦截器
是整个责任链中的第一个,是首次接触到Request与最后接收到 Response的,主要功能就是判断是否需要重试与重定向。重试的前提是出现了 RouteException 或IOException。一旦在后续的拦截器执行过程中出现这两个异常,就会通过 recover 方法进行判断是否进行连接重试。重定向发生在重试的判定之后,如不满足重试的条件,还需要进一步调用 followUpRequest 根据Response 的响应码(如果直接请求失败, Response都不存在就会抛出异常)。
2023-06-19 17:42:02 3855
原创 http 三次握手 四次挥手
网络层是端点间的(客户端、服务端)链路层是跳跃节点间的。TCP/IP 下一跳模式(网关) 内存小,速度快,不可靠。(网络号、主机号)TCP协议是一种面向连接的、可靠的、基于字节流的运输层通信协议。TCP是全双工模式。
2023-06-19 17:14:18 1410
原创 finish()、System.exit(0)、onDestory的区别
finish是Activity的类,仅仅针对Activity,当调用finish()时,只是将活动推向后台,并没有立即释放内存,活动的资源并没有被清理;当调用System.exit(0)时,杀死了整个进程,这时候活动所占的资源也会被释放。想完全退出程序,应该使用System.exit(0)(这里不考虑后台服务等情况)onDestory()方法是Activity生命周期的最后一步,资源空间等就被回收了。
2023-06-14 21:43:56 263
原创 Android 内存泄漏
内存泄漏:即memory leak。是指内存空间使用完毕后无法被释放的现象,虽然Java有垃圾回收机制(GC),但是对于还保持着引用, 该内存不能再被分配使用,逻辑上却已经不会再用到的对象,垃圾回收器不会回收它们。内存溢出:即out of memory, 当你要求分配的内存超过了系统给你的内存时, 系统就会抛出out of memory的异常(每个Android能用的内存是有限的)。比如: 当前应用只剩下4M的空间可用, 但你却加载得到一个需要占用5M空间的图片Bitmap对象, 就会抛出溢出的异常。
2023-06-12 13:01:44 1760
原创 ANR 超时的定义
ANR:是Application Not Responding 的缩写。即在Android中,主线程(UI线程)如果在规定时内没有处理完相应工作,就会出现ANR。
2023-06-09 21:32:50 103
原创 android 动画
视图动画,也就是所谓的补间动画。指通过指定View的初始状态、变化时间、方式、通过一系列的算法去进行图片变换(平移、缩放、旋转、改变透明度),可以采用XML来做也可以采用编码来做。从而实现动画效果。主要有scale、alpha、Translate、Rotate四种效果。
2023-06-09 18:29:27 1539
原创 常用adb命令记录下
adb root获取root 权限(以root权限运行ADB守护程序)adb remount以读写方式重新挂载设备的文件系统adb reboot重启设备adb devices查看当前连接设备adb get-serialno获取设备的序列号adb backup备份设备的应用程序和数据adb bugreport收集设备的当前状态信息以进行故障排除adb start-server启动adb进程adb kill-server终止adb进程adb shell进入shell模式(
2023-05-25 20:21:39 620
原创 3个ActivityA和C为默认启动模式(standard)B为singleTask 生命周期
问题: A——>B——>C——>B,生命周期是?然后在B中点击返回键生命周期是?注 MainActivity为A页面。
2023-05-15 19:36:58 103
RxJava 操作符使用
2024-03-27
ContentProviderDemo.7z
2023-07-17
Messenger 进程间通信
2023-07-12
CrashHandler
2023-07-04
ActivityDemo.7z
2023-05-15
Ubuntu 机械臂(睿尔曼)与摄像头(奥比中光、RealSense)标定教程(眼在手上)
2022-07-16
Ubuntu系统下ROS机械臂(睿尔曼)与摄像头标定(RealSense)教程
2022-07-15
commons-math3-3.6.1-API文档中文版
2022-07-15
Ubuntu18.04 清华、阿里云、中科大、网易源
2022-07-12
省市区 数据china_address.json
2019-12-24
mpsdk-installer-2-15-1.exe
2019-12-03
请求工具之Postman
2018-05-31
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人