首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Android14 适配之——targetSdkVersion 升级到 34 需要注意些什么?

用户切换设备,帮助确保用户消息任务连续性。...系统会查找能够处理这个操作组件,并启动它们。隐式 Intent 主要用于应用程序内或与其他应用程序之间触发各种操作,如启动活动、启动服务、发送广播等。...早在 Android13 就引入了这个功能,可以让应用程序指定一个已注册广播接收器是否应该被导出,并对设备上其他应用可见。 只不过 Android14 上变成了“必须设置”。...而在以前 Android 版本,设备上任何应用都可以向动态注册广播接收器发送未受保护广播,除非该接收器签名许可。...2.5 后台启动 Activity 新增限制 Android14 上系统进一步限制了 App 从后台启动 Activity 情况: App 使用 PendingIntent#send() 或类似方法发送

8.8K30
您找到你想要的搜索结果了吗?
是的
没有找到

Android面试题(四大组件篇)

清单文件下每个activity注册写上 android:configChanges=“XXX” 比如横竖屏切换android:configChanges=“orientation” Q:优先级低...或者replace()随时对Fragment进行切换,并且切换时候不会出现明显效果,用户体验会好;Activity虽然也可以进行切换,但是Activity之间切换会有明显翻页或者其他效果,小部分内容切换上给用户感觉不是很好...AlarmManager提供对系统警报服务访问。这些允许您在将来某个时间点运行应用程序警报响起系统广播已注册意图,如果目标应用程序尚未运行,则自动启动它。...ActivityManagerService(以后简称AMS)Android中最核心服务 , 主要负责系统四大组件启动、切换、调度及应用进程管理和调度等工作,其职责与操作系统进程管理和调度模块类似...静态注册无需担忧广播接收器是否被关闭,只要设备是开启状态,广播接收器也是打开着。也就是说哪怕app本身未启动,该app订阅广播触发也会对它起作用。

87420

Broadcasts详解「建议收藏」

广播某个特定事件发生被发送,例如,各种系统事件发生(如系统启动或设备开始充电),Android系统就会发送广播。...应用程序也可以发送自定义广播,例如,通知其他应用程序他们关注事件(如数据下载完成)。 应用程序可以注册广播接收器。广播被发送系统自动将广播传递到已注册接收该广播应用程序。...一般来说,广播可以作为应用程序间、正常用户流之外消息传递系统系统广播 各种系统事件发生系统会自动发送广播,例如系统进入/退出飞行模式。系统广播被发送给所有注册该广播接收器应用程序。...b、 Android4.0及以上系统上,发送广播你可以用setPackage(String)指定包名。系统广播限制为与包名匹配应用程序集。...三种方法可以限制应用程序接收广播: a、 注册广播接收器指定权限。 b、 对于静态注册广播,把android:exported设置为false。

76710

常见Android面试题及答案(详细整理)

2、可见生命周期: Activity处于可以用户看见状态,但不一定能与用户交互,将多次执行从onStart()到onStop()。...onRestart()//Activity重新启动时调用。 onStart()//Activity对用户即将可见时调用。 onResume()//Activity与用户交互,绘制界面。...Broadcast receiver可以通过多种方式通知用户: 启动activity、使用NotificationManager、开启背景灯、振动设备、播放声音等,最典型状态栏显示一个图标,这样用户就可以点它打开看通知内容...Android,文件是一个应用程序私有的,一个应用程序无法读写其他应用程序文件。 3、使用SQLite数据库存储数据,Android提供一个标准数据库,支持SQL语句。...android本身一些限制,比如apk包大小限制,读取大文件时间限。 答:apk包大小限制不好说,有的apk为100M,还是能装到手机上。一般apk大小为5~10M左右。

2.6K11

Android面试常问基础知识点(附详细解答)

Android中会维持一个Activity Stack,一个新Activity创建,它就会放到栈顶,这个Activity就处于运行状态。...onStop(): Activity被新Activity覆盖不可见系统调用 onDestory(): Activity被系统销毁杀掉或是由于内存不足时调用 2)Service a) onBind...Service是否运行无关,比如我们集成第三方Push SDK,一般都会添加一个静态注册BroadcastReceiver来监听Push消息,Push消息过来时,会在后台做一些网络请求或者发送通知等等...1)mainfest中注册:静态注册广播接收者就是一个常驻在系统全局监听器,也就是说如果你应用配置了一个静态BroadcastReceiver,而且你安装了应用而无论应用是否处于运行状态,广播接收者都是已经常驻在系统中了...2)全局广播:发送广播事件可被其他应用程序获取,也能响应其他应用程序发送广播事件(可以通过 exported–是否监听其他应用程序发送广播 清单文件控制) 全局广播既可以动态注册,也可以静态注册

2.4K31

Android 12行为变更和版本兼容思路

组合不透明度小于或等于系统对触摸最大遮盖不透明度系统认为一组系统警报窗口是足够透明。...除少数特殊情况外,应用程序尝试调用包含此操作intent系统会执行以下操作之一您应用目标SDK版本上: 如果您应用程序Android 12为目标,则会出现a 。...同时,您仍然可以Android 12上测试您应用程序是否其他SameSite更改(默认情况下 ,请参见SameSite = Lax,并且SameSite = None必须是安全)。...对于面向Android 12应用程序,当用户运行adb backup命令应用程序数据将从从设备导出任何其他系统数据中排除。...切换行为 开发人员预览版测试应用程序时,可以使用NOTIFICATION_TRAMPOLINE_BLOCK应用程序兼容性标志启用和禁用此限制

4.4K10

Android】Broadcasts详解

一些受到关心事件发生后,广播会被自动发送。举例来说,一些系统事件(如开机,设备开始充电等)发生,Android系统会发送广播。...应用程序也可以发送自定义广播,比如某个应用关注事件(如数据更新等)发生后可以发送广播提醒它。 系统广播 一系列系统事件发生时候,系统会自动发送广播,比如飞行模式切换。...通过权限限制广播收发 权限机制可以让你将广播范围限制一系列拥有特定权限应用之间。你既可以限制发送发,也可以限制接收方。...如果许多应用都在应用清单中注册接收同一个广播,会造成系统启动大量应用,对硬件性能和用户体验造成影响。为了避免这种情况,优先考虑上下文相关广播接收器,而不是应用清单定义。...三种方式来限制广播发送发: 注册receiver时候可以指定一个权限。

76320

app自动化面试题

此刻并不会被销毁,只是失去了与用户交互能力,其所有的状态信息及其成员变量都还在,只有系统内存紧张情况下,才有可能被系统回收掉 3.停止(Stopped):Activity被系统完全覆盖,被覆盖...只有需要在多个应用程序间共享数据才需要内容提供者。例如:通讯录数据被多个应用程序使用,且必须存储一个内容提供者。它好处:统一数据访问方式。...服务运行不依赖于任何用户界面,即使程序被切换到后台,或者用户打开了另一个应用程序,服务扔然能够保持正常运行,不过服务并不是运行在一个独立进程当中,而是依赖于创建服务所在应用程序进程。...某个应用程序进程被杀掉后,所有依赖于该进程服务也会停止运行(正在听音乐,然后把音乐程序退出) 5 App测试ios和Android哪些区别呢?...;新ios系统资源库不能完全兼容低版本ios系统应用,低版本ios系统应用调用了新资源库,会直接导致闪退(Crash); 4.操作习惯:Android,Back键是否被重写,测试点击

1.4K20

速读原著-Android应用开发入门教程(Android应用程序概念性描述)

由于 Android 系统本身是基于 Linux 操作系统运行,因此 Android 应用程序也运行于 Linux 环境,它们具有以下特点: 默认情况下,每一个应用程序运行于它们 Linux...系统通常有很多这样进程在运行,因此要将这些进程保存在 LRU 列表,以确保内存不足用户最近看到进程最后一个被杀死。 (5)空(Empty)进程 不包含任何处于活动状态应用程序组件。...活动生命周期 活动是 Android 中最重要、最基础组件,用户界面上看到一个个可以切换屏幕界面就是 Android活动。活动生命周期如图 1 所示。 ?...转入后台,onStop()是否被调用取决于活动是否被完全覆盖,活动透明部分时,转入后台活动依然“可见”,其他情况下(较多数情况)活动均进入不可见状态(被完全覆盖)。...广播接收器生命周期 广播接收器一个单一回调方法 onReceive(),广播消息到达接收器Android 将调用这个方法,并传递给包含在这个消息 Intent 对象。

98010

Android面试题大全

Service 还有一个作用就是提升进程(每个应用都是一个进程)优先级,进程优先级指的是 Android 系统,会把正在运行应用确定一个优先级,内存空间不足系统会根据进程优先级清理掉一部分进程占用内存空间... Android 系统广播体现在方方面面,例如:开机完成后系统会产生一条广播,接收到这条广播就能实现开机启动服务功能;网络状态改变系统会产生一条广播,接收到这条广播就能及时地做出提示和保存数据等操作...;电池电量改变系统会产生一条广播,接收到这条广播就能在电量低告知用户及时保存进度,等等。...注意: activity 结束前,移除广播接收器。 ) 静态注册无需担忧广播接收者是否被关闭,只要设备是开启状态,广播接收者也是打开着。...A 得到广播后,可以往广播里存入数据,广播传给 B ,B可以从广播得到 A 存入数据 总结: 广播为有序广播: 优先级高先接收 同优先级广播接收器,动态优先于静态 同优先级同类广播接收器

1.3K50

备战金九银十:BAT大厂最爱问Android核心面试百题详细解析!

系统运行库 Android包含一些C/C++库,这些库能被Android系统不同组件使用。它们通过Android 应用程序框架为开发者提供服务。...数字证书都是有效期Android只是应用程序安装时候才会检查证书有效期。如果程序已经安装在系统,即使证书过期也不会影响程序正常功能。...广播接收者生命周期非常短。执行onRecieve方法之后,广播就会销毁 广播接受者不能进行耗时较长操作 广播接收者不要创建子线程。...37.Service 是否 main thread 执行, service 里面是否能执行耗时操作默认情况servicemain thread执行,service主线程运行,那service...Intent传递数据大小限制,这里官方并未详细说明,不过通过实验方法可以测出数据应该被限制1MB之内(1024KB),笔者采用是传递Bitmap方法,发现图片大小超过1024(准确地说是

1.2K31

Android基础_1 四大基本组件介绍与生命周期

Intent 描述结构两个最重要部分:动作和动作对应数据。      典型动作类型:M AIN(activity门户)、VIEW、PICK、EDIT 等。...而当用户按下BACK 键时候,你activity 又会再一次显示屏幕上,此时任务是由2个应用程序相关activity组成)栈底是启动整个任务Activity,栈顶是当前运行用户可以交互...举个例子说,比如当前任务存有四个activity──三个在当前activity 之下。当用户按下HOME 键时候,回到了应用程序加载器,然后选择了一个新应用程序(也就是一个新任务)。...5.onPause()         系统启动另外一个新Activity,新Activity启动之前被系统调用保存现有的Activity持久数据、停止动画等,这个实现方法必须非常快。...系统而不是用户自己出于回收内存,关闭了activity 之后。用户会期望他再次回到这个activity 时候,它仍保持着上次离开样子。

1.4K30

Android】期末选择题和判断题

7 关于Service和Thread区别说法,不正确是( C) A、耗时或阻塞操作应该在其中创建一个线程。 B、可以Service里创建一个Thread。...A、处理一个应用程序整体性工作 B、是一段长生命周期,没有用户界面的程序,可以保持应用在后台运行,而不会因为切换页面而消失 C、实现应用程序数据共享 D、可以实现界面间切换,可以包含动作和动作数据...我答案:× 2 服务在后台运行,但受到其优先级限制系统出现内存不足情况下,就有可能会回收掉正在后台运行服务。...我答案:× 18 Android内置了很多系统级别的广播,我们可以应用程序通过监听这些广播来得到各种系统状态信息。...我答案:× 38 目标Activity,通常使用setResult()方法设置返回数据。 我答案:√ 39 使用intent启动其他组件两种方式,一种是显式启动,一种是隐式启动。

1.4K51

精选Android中高级高频面试题:四大组件及Fragment原理

属性所声明级别),则还应声明 "screenSize" 配置,因为设备横向与纵向之间切换,该配置也会发生变化。... execStartActivity() 采⽤ checkStartActivityResult() 检查在 manifest 是否已经注册,如果没 注册则抛出异常。...,但是Activity之间切换会有明显翻页或者其他效果,小部分内容切换上给用户感觉不是很好; 3、Fragmentadd与replace区别(Fragment重叠) 参考回答: add不会重新初始化...是最高值,如果数字越小则优先级越低,同时适用于广播onDestroy方法里重启Service service走到onDestroy(),发送一个自定义广播收到广播,重新启动service...,匹配该广播接收器被注册后,该接收器就会收到此条广播; 【Android进阶学习视频】、【全套Android面试秘籍】关注我【主页简介】查看免费领取方式 推荐文章:Android四大组件:BroadcastReceiver

1.8K00

行情艰难,Android初中级面试题助你逆风翻盘,每题都有详细答案

"screenSize" 配置,因为设备横向与纵向之间切换,该配置也会发生变化。...动态添加; Fragment可以使用show()/hide()或者replace()随时对Fragment进行切换,并且切换时候不会出现明显效果,用户体验会好;Activity虽然也可以进行切换,...但是Activity之间切换会有明显翻页或者其他效果,小部分内容切换上给用户感觉不是很好; 3、Fragmentadd与replace区别(Fragment重叠) add不会重新初始化fragment...是最高值,如果数字越小则优先级越低,同时适用于广播; 3.onDestroy方法里重启Service:service走到onDestroy(),发送一个自定义广播收到广播,重新启动service...发挥什么作用 参考回答:ActivityManagerService是Android中最核心服务 , 主要负责系统四大组件启动、切换、调度及应用进程管理和调度等工作,其职责与操作系统进程管理和调度模块类似

77920

Toast与Snackbar那点事

为了规避这些风险,GoogleAndroid系统版本迭代过程,不断进行了优化和限制。...这些限制不可避免影响到了正常业务逻辑,迭代过程,我们遇到过以下几个问题: 设置关闭某个App【显示通知】开关,Toast不再弹出,极大影响了用户体验。...为了解决正常业务Toast被系统限制误伤问题,我们与Toast展开了一系列斗争。 斗争一:Toast不弹出 举个案例:某个用户投诉美团App分享朋友圈后没有任何提示,不知道是否分享成功。...然而,Android 4.4(API19)以下系统,这个开关打开状态,也就是通知权限是否开启状态我们是无法判断,因此我们也无法感知Toast弹出与否,为了解决这个问题,需要从Toast源码入手...查看源码后发现需要以下几个步骤: 显示一个Toast,NMS会生成一个token,而NMS本身就是一个系统服务,所以由它生成token必然拥有权限添加系统窗口。

2.3K60

Android面试题总结【完整详细版本”一”】(含答案)

ViewPagersetUserVisibleHint能反映出Fragment是否切换到后台或前台,所以在这里也当作生命周期) 如果相关Fragment没有被加载过: NF: setUserVisibleHint...一个Service被终止,ServiceonDestroy()方法将会被调用,在这里应当做一些清除工作,如停止Service创建并运行线程等。...2)提交数据大小是否限制:get提交数据是有限制,因为url是有限制,不能无限制输入一个url地址;而 post方法提交是body,因此没有限制。...并发很多用户cookie是一个很好选择】。 HTTPS协议: 基本概念:对工作以加密连接(SSL / TLS)上常规HTTP协议。...子线程中进行耗时操作后需要更新UI,通过Handler将有关UI操作切换到主线程执行。

70820

Android面试问题整理

很多广播接收者,系统已经实现了. 广播分两种有序广播 无序广播 指定接收者广播.  ...Android 数字签名 Android系统,所有安装到系统应用程序都必有一个数字证书,此数字证书用于标识应用程序作者和在应用程序之间建立信任关系 Android系统要求每一个安装进系统应用程序都是经过数字证书签名...(4)数字证书都是有效期Android只是应用程序安装时候才会检查证书有效期。如果程序已经安装在系统,即使证书过期也不会影响程序正常功能。 53. 什么是ANR 如何避免它?...Android上,如果你应用程序一段时间响应不够灵敏,系统会向用户显示一个对话框,这个对话框称作应用程序无响应(ANR:Application Not Responding)对话框。...Android界面部分也采用了当前比较流行MVC框架,AndroidM就是应用程序中二进制数据,V就是用户界面。Android界面直接采用XML文件保存,界面开发变很方便。

91920

Android 面试常问七道题

可见生命周期:从onStart()直到系统调用onStop() 前台生命周期:从onResume()直到系统调用onPause() 屏幕旋转Activity生命周期: 不设置Activityandroid...3、同时要尽可能复用控件,这样可以减少ListView内存使用,减少滑动GC次数。 4、ListView背景色与cacheColorHint设置相同颜色,可以提高滑动渲染性能。...Android,活动管理器和窗口管理器这两个系统服务负责监视应用程序响应,当用户操作5s内应用程序没能做出反应,BroadcastReceiver10秒内没有执行完毕,就会出现应用程序无响应对话框...6Android中三种动画,特点和区别是什么? Android 动画帧动画,补间动画,属性动画。 帧动画:一张张图片不断切换,形成动画效果,类似小时候电影。...2)第二种是常驻型,也就是说当应用程序关闭后,如果有信息广播来,程序也会被系统调用自动运行。

56020
领券