
android
文章平均质量分 72
wills777
这个作者很懒,什么都没留下…
展开
-
Activity收不到bundle值
当Activity的启动模式为singletop的时候,若Activity位于栈顶,Activity也不会重建,那么通过Intent传值,getIntent也是接收不到值的。当Activity的启动模式为singleTask或singleInstance的时候,通过Intent传值,getIntent是接收不到值的,为null。当页面再次被调用的时候,可以在onNewIntent方法中setIntent(intent),再走onRestart。Activity有四种启动模式,一般为默认。原创 2024-08-04 22:03:18 · 284 阅读 · 0 评论 -
Android内存抖动分析与常见案例
在这段代码中,每次点击按钮时都会创建 100,000 个大约为 1MB 的数组,如果内存不够用,则可能导致 OOM 错误。当内存频繁分配和回收导致内存不稳定,出现内存抖动,内存抖动通常表现为频繁 GC、内存曲线呈锯齿状。由于内存是不连续的,因此在较大的数组中分配这些不连续的内存片可能导致 OOM 错误。请注意,这个代码中的消息循环可能会导致内存泄漏,因此您需要在适当的时候删除消息。对象,这会导致内存波动,因为系统并不能回收之前创建的对象。并且,内存抖动的危害严重,会导致页面卡顿,甚至 OOM。原创 2024-01-16 08:15:00 · 1657 阅读 · 1 评论 -
Activity的启动跳转与数据传递
Intent:直译为意图,通俗来说就是你想要做什么或想要去哪?作用:Intent是Activity、Service和BroadCastReceiver这三个应用组件进行通信的信使。例如:想要从FirstActivity启动另外一个SecondActivity,就必须使用Intent对象了。原创 2022-12-21 21:15:00 · 1398 阅读 · 0 评论 -
Android 12兼容性适配方案
首先,Android 12的兼容性适配分了所有应用和以Android 12 为目标平台的适配两种,其中前者为必须要做的,后者的适配也很重要,虽然应用可以暂时不设为Android 12 ,但是随着Android开发的不断更新,各种工具更新,总会在某一个时刻我们升级了AS或者使用了其他工具需要我们适配新特性,不如一次到位都适配到。这项额外的要求可提高应用的安全性。请求用户禁用休眠:如果您预计应用中的用例会受到休眠的影响,则可以向用户发送请求,以授予您的应用免于休眠和权限自动重置的豁免权。转载 2022-12-20 17:56:55 · 3905 阅读 · 0 评论 -
android沉浸式状态栏,启动页隐藏状态栏
定义SplashActivity 并在AndroidManifest.xml中设置上自定义的全屏主题。效果(状态栏):当全屏时,你下拉状态栏,状态栏出现后会在几秒后消失。版本开始就是可以使用这个了。// 控制状态栏操作效果。原创 2022-10-07 22:59:34 · 2641 阅读 · 0 评论 -
Butterknife出错java.lang.IllegalStateException: Fragment already added
后来检查生命后期调试,发现baseFragment的@OnClick先于bind执行,当bind=ButterKnife.bind(this,rootView)时,绑定的Fragment已存在。2.还有一种是@BindView导致的,使用xxxView.findViewById(R.id.xx)替换之。于是理所当然的检查xxxFragment,后来也查了网上的资料,但并没有发现问题..1.需要先ButterKnife.bind,再执行@OnClick所要加载的控件。...原创 2022-07-20 16:18:34 · 716 阅读 · 0 评论 -
Android权限详解,权限整理
Android中有很多权限,但并非所有的权限都是敏感权限,Android 6.0系统开始对所有权限进行了以下分类:正常权限是对用户隐私或其他应用操作风险很小的区域。如果应用声明其需要正常权限,系统会自动向应用授予该权限。在Android 8.1(API 级别 27)中,下列权限被分类为正常权限:危险权限涵盖应用需要涉及用户隐私信息的数据或资源,或者可能对用户存储的数据或其他应用的操作产生影响的区域。如果应用声明其需要危险权限,则用户必须明确向应用授予该权限。权限组任何权限都可属于一个权限组,包括正常权限原创 2022-06-28 11:45:05 · 8831 阅读 · 0 评论 -
Android--代理模式和Retrofit源码浅析
一、代理模式因为Retrofit用到了动态代理模式,所以先说说代理模式。1、代理模式的定义为其他对象提供一种代理以控制这个对象的访问。代理模式角色分为 3 种:Subject(抽象主题角色) :定义代理类和真实主题的公共对外方法,也是代理类代理真实主题的方法;RealSubject(真实主题角色):真正实现业务逻辑的类;Proxy(代理主题角色) :用来代理和封装真实主题;代理模式的结构比较简单,其核心是代理类,为了让客户端能够一致性地对待真实对象和代理对象,在代理模式中引入原创 2022-05-19 22:55:07 · 475 阅读 · 0 评论