Android T adout replace bootanimation

idea_1:use ota replace bootanimation.zip

idea_2:创建一个新的分区,(用于存放bootanimation.zip)可以让上层读写.

idea_3:su cp

前提条件:userdebug版本, 默认关闭selLinux,可root

//df 查看设备分区情况,有些分区系统是不让去写的
adb shell
c4_t:/ $ df
Filesystem            1K-blocks   Used Available Use% Mounted on
tmpfs                   1001636   1296   1000340   1% /dev
tmpfs                   1001636      0   1001636   0% /mnt
/dev/block/mmcblk2p11     10224    120      9620   2% /metadata
/dev/block/dm-0          977764 974804         0 100% /
/dev/block/dm-3          279816 278964         0 100% /vendor
/dev/block/dm-8           22236  22168         0 100% /odm
/dev/block/dm-1             232     36       192  16% /system_dlkm
/dev/block/dm-2          173584 173064         0 100% /system_ext

找到一个可以被命令操作的分区,然后复制动画.

IntentFilter intentFilter = new IntentFilter();intentFilter.addAction(Intent.ACTION_MEDIA_MOUNTED);intentFilter.addDataScheme("file");registerReceiver(AnimationReceiver,intentFilter);BroadcastReceiver AnimationReceiver = new BroadcastReceiver() {@Overridepublic void onReceive(Context context, Intent intent) {if (intent.getAction().equals(Intent.ACTION_MEDIA_MOUNTED)) {String path = intent.getData().getPath() + "/bootanimation.zip";File file = new File(path);if (file.exists()) {long file_size = file.length();long file_mb = file_size / 1048576;Log.d("tag", "file_mb size of = " + file_mb + "MB");if (file_mb <= 30) {execRootCmd(path);}}}}};private int execRootCmd(String path) {int result = -1;DataOutputStream dos = null;try {java.lang.Process process = Runtime.getRuntime().exec("/system/xbin/su");dos = new DataOutputStream(process.getOutputStream());dos.writeBytes("mount -o rw,remount /dev/block/dm-8 /odm" + "\n");//利用命令挂载File seat_file = new File("/odm/boot/seat.zip");if (seat_file.exists()) {dos.writeBytes("rm -rf /odm/boot/seat.zip" + "\n");dos.flush();}File mfile = new File("/odm/boot/");if (!mfile.exists()) {dos.writeBytes("mkdir /odm/boot/" + "\n");dos.flush();}dos.writeBytes("cp " + path + " /odm/boot/" + "\n");dos.flush();dos.writeBytes("chmod 644 odm/boot/bootanimation.zip" + "\n");dos.flush();SystemClock.sleep(500);dos.writeBytes("reboot\n");dos.flush();dos.writeBytes("exit\n");dos.flush();process.waitFor();result = process.exitValue();} catch (Exception e) {e.printStackTrace();} finally {if (dos != null) {try {dos.close();} catch (IOException e) {e.printStackTrace();}}}return result;}

补充:
Android Q(10)开始引进动态分区,分区的大小不好确定.可以去配置文件固定分区大小(不让其动态),或者弄一个文件占位.

bug:Android T bootanimation 时间过长(>50s),会触发bug,现象为System UI ANR.

BootAnimationShownTiming start time: 8562ms
BootAnimationShownTiming End time: 71253ms
BootAnimationStopTiming start time: 72395ms

error log:

2024-08-23 11:34:01.055   642-657   system_server           system_process                       W  Long monitor contention with owner binder:642_4 (811) at void com.android.server.am.ActivityManagerService.attachApplication(android.app.IApplicationThread, long)(ActivityManagerService.java:5061) waiters=2 in android.content.Intent com.android.server.am.ActivityManagerService.registerReceiverWithFeature(android.app.IApplicationThread, java.lang.String, java.lang.String, java.lang.String, android.content.IIntentReceiver, android.content.IntentFilter, java.lang.String, int, int) for 200ms
2024-08-23 11:34:01.160   642-669   system_server           system_process                       W  Long monitor contention with owner binder:642_3 (709) at void com.android.server.am.ActivityManagerService$AppDeathRecipient.binderDied()(ActivityManagerService.java:1479) waiters=3 in void com.android.server.am.BroadcastQueue.processNextBroadcast(boolean) for 315ms
2024-08-23 11:34:02.144   642-709   system_server           system_process                       W  Long monitor contention with owner binder:642_1 (656) at void com.android.server.am.CachedAppOptimizer.unfreezeTemporarily(com.android.server.am.ProcessRecord, java.lang.String)(CachedAppOptimizer.java:1045) waiters=0 in com.android.server.am.ProcessRecord com.android.server.am.ActivityManagerService.findAppProcess(android.os.IBinder, java.lang.String) for 218ms
2024-08-23 11:34:03.493   642-811   system_server           system_process                       W  Long monitor contention with owner PackageManager (699) at void com.android.server.pm.permission.LegacyPermissionSettings.writePermissionTrees(android.util.TypedXmlSerializer)(LegacyPermissionSettings.java:150) waiters=0 in com.android.server.pm.Computer com.android.server.pm.PackageManagerService.snapshotComputer() for 404ms
2024-08-23 11:34:07.830   642-663   system_server           system_process                       W  Long monitor contention with owner binder:642_2 (657) at void com.android.server.wm.ActivityClientController.setTaskDescription(android.os.IBinder, android.app.ActivityManager$TaskDescription)(ActivityClientController.java:1068) waiters=0 in void com.android.server.wm.ActivityRecord$2.run() for 732ms
2024-08-23 11:34:13.025   642-642   system_server           system_process                       W  Long monitor contention with owner ActivityManager (669) at void com.android.server.am.BroadcastQueue.processNextBroadcast(boolean)(BroadcastQueue.java:1156) waiters=0 in int com.android.server.am.ActivityManagerService.broadcastIntentWithFeature(android.app.IApplicationThread, java.lang.String, android.content.Intent, java.lang.String, android.content.IIntentReceiver, int, java.lang.String, android.os.Bundle, java.lang.String[], java.lang.String[], java.lang.String[], int, android.os.Bundle, boolean, boolean, int) for 370ms
2024-08-23 11:34:16.457   642-663   system_server           system_process                       W  Long monitor contention with owner binder:642_2 (657) at boolean com.android.server.wm.WindowManagerService.hasNavigationBar(int)(WindowManagerService.java:6591) waiters=0 in void com.android.server.wm.ActivityTaskManagerService$SleepTokenAcquirerImpl.release(int) for 128ms
2024-08-23 11:34:18.253   642-811   system_server           system_process                       W  Long monitor contention with owner binder:642_5 (998) at android.app.ContentProviderHolder com.android.server.am.ContentProviderHelper.getContentProviderImpl(android.app.IApplicationThread, java.lang.String, android.os.IBinder, int, java.lang.String, java.lang.String, boolean, int)(ContentProviderHelper.java:587) waiters=0 in android.content.Intent com.android.server.am.ActivityManagerService.registerReceiverWithFeature(android.app.IApplicationThread, java.lang.String, java.lang.String, java.lang.String, android.content.IIntentReceiver, android.content.IntentFilter, java.lang.String, int, int) for 1.930s
2024-08-23 11:34:18.666   642-663   system_server           system_process                       W  Long monitor contention with owner binder:642_5 (998) at android.app.ContentProviderHolder com.android.server.am.ContentProviderHelper.getContentProviderImpl(android.app.IApplicationThread, java.lang.String, android.os.IBinder, int, java.lang.String, java.lang.String, boolean, int)(ContentProviderHelper.java:587) waiters=2 in void com.android.server.am.ActivityManagerService.trimApplications(boolean, java.lang.String) for 1.377s
2024-08-23 11:34:20.096   642-663   system_server           system_process                       W  Long monitor contention with owner android.bg (668) at void com.android.server.am.AppProfiler.collectPssInBackground()(AppProfiler.java:535) waiters=0 in void com.android.server.am.AppProfiler.requestPssAllProcsLPr(long, boolean, boolean) for 444ms
2024-08-23 11:34:20.610   642-660   system_server           system_process                       W  Long monitor contention with owner watchdog (666) at void java.lang.Object.wait(long, int)(Object.java:-2) waiters=0 in void com.android.server.Watchdog$HandlerChecker.run() for 159ms
2024-08-23 11:34:24.251   642-661   system_server           system_process                       W  Long monitor contention with owner android.anim (664) at void com.android.server.wm.WindowSurfacePlacer$Traverser.run()(WindowSurfacePlacer.java:58) waiters=0 in boolean com.android.server.wm.DisplayPolicy.finishWindowsDrawn() for 2.290s
2024-08-23 11:34:25.777   642-661   system_server           system_process                       W  Long monitor contention with owner android.display (663) at void com.android.server.wm.WindowManagerService.performEnableScreen()(WindowManagerService.java:3772) waiters=0 in boolean com.android.server.wm.DisplayPolicy.finishScreenTurningOn() for 1.188s
2024-08-23 11:34:25.853   642-664   system_server           system_process                       W  Long monitor contention with owner android.display (663) at void com.android.server.wm.WindowManagerService.performEnableScreen()(WindowManagerService.java:3772) waiters=1 in void com.android.server.wm.WindowAnimator.lambda$new$1(long) for 954ms
2024-08-23 11:34:27.471   642-661   system_server           system_process                       W  Long monitor contention with owner android.anim (664) at void com.android.server.wm.WindowAnimator.lambda$new$1(long)(WindowAnimator.java:110) waiters=0 in void com.android.server.wm.WindowManagerService.enableScreenIfNeeded() for 1.108s
2024-08-23 11:34:28.244   642-660   system_server           system_process                       W  Long monitor contention with owner android.anim (664) at void com.android.server.wm.WindowAnimator.lambda$new$1(long)(WindowAnimator.java:110) waiters=1 in void com.android.server.wm.WindowManagerService.monitor() for 1.279s
2024-08-23 11:34:29.151   642-1070  system_server           system_process                       W  Long monitor contention with owner android.display (663) at void com.android.server.wm.WindowManagerService.performEnableScreen()(WindowManagerService.java:3772) waiters=0 in void com.android.server.wm.WindowProcessController.appEarlyNotResponding(java.lang.String, java.lang.Runnable) for 534ms
2024-08-23 11:34:34.274   642-669   system_server           system_process                       W  Long monitor contention with owner binder:642_4 (811) at android.content.Intent com.android.server.am.ActivityManagerService.registerReceiverWithFeature(android.app.IApplicationThread, java.lang.String, java.lang.String, java.lang.String, android.content.IIntentReceiver, android.content.IntentFilter, java.lang.String, int, int)(ActivityManagerService.java:13371) waiters=2 in void com.android.server.am.BroadcastQueue.processNextBroadcast(boolean) for 570ms
2024-08-23 11:34:35.356   642-1070  system_server           system_process                       W  Long monitor contention with owner binder:642_4 (811) at android.content.Intent com.android.server.am.ActivityManagerService.registerReceiverWithFeature(android.app.IApplicationThread, java.lang.String, java.lang.String, java.lang.String, android.content.IIntentReceiver, android.content.IntentFilter, java.lang.String, int, int)(ActivityManagerService.java:13371) waiters=3 in void com.android.server.am.ProcessErrorStateRecord.appNotResponding(java.lang.String, android.content.pm.ApplicationInfo, java.lang.String, com.android.server.wm.WindowProcessController, boolean, java.lang.String, boolean) for 1.602s
2024-08-23 11:34:37.001   642-780   system_server           system_process                       W  Long monitor contention with owner main (642) at java.util.Set com.android.server.audio.AudioService.getDeviceSetForStream(int)(AudioService.java:7020) waiters=0 in int com.android.server.audio.AudioService$VolumeStreamState.getIndex(int) for 6.290s
2024-08-23 11:34:37.494   642-678   system_server           system_process                       W  Long monitor contention with owner binder:642_1 (656) at void com.android.server.wallpaper.WallpaperManagerService.extractColors(com.android.server.wallpaper.WallpaperManagerService$WallpaperData)(WallpaperManagerService.java:555) waiters=0 in com.android.server.wallpaper.WallpaperManagerService$WallpaperData com.android.server.wallpaper.WallpaperManagerService$WallpaperObserver.dataForEvent(boolean, boolean) for 143ms
2024-08-23 11:34:38.890   642-811   system_server           system_process                       W  Long monitor contention with owner binder:642_5 (998) at void com.android.server.am.ActivityManagerService.publishService(android.os.IBinder, android.content.Intent, android.os.IBinder)(ActivityManagerService.java:12760) waiters=2 in android.content.Intent com.android.server.am.ActivityManagerService.registerReceiverWithFeature(android.app.IApplicationThread, java.lang.String, java.lang.String, java.lang.String, android.content.IIntentReceiver, android.content.IntentFilter, java.lang.String, int, int) for 616ms
2024-08-23 11:34:40.702   642-642   system_server           system_process                       W  Long monitor contention with owner android.bg (668) at void com.android.server.am.ProcessProfileRecord.addPss(long, long, long, boolean, int, long)(ProcessProfileRecord.java:578) waiters=0 in void com.android.server.am.OomAdjuster.updateOomAdjInnerLSP(java.lang.String, com.android.server.am.ProcessRecord, java.util.ArrayList, com.android.server.am.ActiveUids, boolean, boolean) for 269ms
2024-08-23 11:34:40.822   642-811   system_server           system_process                       W  Long monitor contention with owner main (642) at void com.android.server.am.ActivityManagerService.finishReceiver(android.os.IBinder, int, java.lang.String, android.os.Bundle, boolean, int)(ActivityManagerService.java:14648) waiters=0 in void com.android.server.am.ActivityManagerService$AppDeathRecipient.binderDied() for 1.284s
2024-08-23 11:34:43.842   642-686   system_server           system_process                       W  Long monitor contention with owner NetworkStats (758) at void com.android.server.power.PowerManagerService.acquireWakeLockInternal(android.os.IBinder, int, int, java.lang.String, java.lang.String, android.os.WorkSource, java.lang.String, int, int, android.os.IWakeLockCallback)(PowerManagerService.java:1559) waiters=0 in void com.android.server.power.PowerManagerService.handleSandman(int) for 562ms
2024-08-23 11:34:45.131   642-716   system_server           system_process                       W  Long monitor contention with owner WifiHandlerThread (761) at void com.android.server.alarm.AlarmManagerService$DeliveryTracker.alarmComplete(android.os.IBinder)(AlarmManagerService.java:5549) waiters=0 in void com.android.server.alarm.AlarmManagerService$9.updateAlarmsForUid(int) for 239ms
2024-08-23 11:34:45.131   642-676   system_server           system_process                       W  Long monitor contention with owner batterystats-handler (675) at void com.android.server.am.BatteryStatsService.lambda$noteAlarmFinish$21(java.lang.String, android.os.WorkSource, int, long, long)(BatteryStatsService.java:1001) waiters=0 in void com.android.server.am.BatteryStatsService.lambda$setBatteryState$95(int, int, int, int, int, int, int, int, long, long, long, long) for 400ms
2024-08-23 11:34:45.135   945-945   m.android.phone         com.android.phone                    W  Long monitor contention with owner SharedPreferencesImpl-load (1076) at void android.app.SharedPreferencesImpl.loadFromDisk()(SharedPreferencesImpl.java:154) waiters=0 in java.lang.String android.app.SharedPreferencesImpl.getString(java.lang.String, java.lang.String) for 404ms
2024-08-23 11:34:45.718   642-1074  system_server           system_process                       W  Long monitor contention with owner binder:642_4 (811) at com.android.server.am.ProcessRecord com.android.server.am.ProcessList.removeProcessNameLocked(java.lang.String, int, com.android.server.am.ProcessRecord)(ProcessList.java:3064) waiters=0 in boolean com.android.server.am.ActivityManagerService.isUidActive(int, java.lang.String) for 657ms
2024-08-23 11:34:47.311   642-760   system_server           system_process                       W  Long monitor contention with owner NetworkStats (758) at void com.android.server.net.NetworkStatsService.performPoll(int)(NetworkStatsService.java:2270) waiters=0 in void com.android.server.net.NetworkStatsService.noteUidForeground(int, boolean) for 1.155s
2024-08-23 11:34:47.659   642-811   system_server           system_process                       W  Long monitor contention with owner android.display (663) at void com.android.server.wm.WindowManagerService.performEnableScreen()(WindowManagerService.java:3822) waiters=0 in void com.android.server.wm.ActivityTaskManagerService$LocalService.clearHeavyWeightProcessIfEquals(com.android.server.wm.WindowProcessController) for 1.928s
2024-08-23 11:34:47.660   642-656   system_server           system_process                       W  Long monitor contention with owner android.display (663) at void com.android.server.wm.WindowManagerService.performEnableScreen()(WindowManagerService.java:3822) waiters=1 in float com.android.server.wm.WindowManagerService.getCurrentAnimatorScale() for 288ms
2024-08-23 11:34:47.668   642-660   system_server           system_process                       W  Long monitor contention with owner binder:642_4 (811) at void com.android.server.am.ActivityManagerService$AppDeathRecipient.binderDied()(ActivityManagerService.java:1479) waiters=1 in android.app.ActivityManagerInternal$ServiceNotificationPolicy com.android.server.am.ActivityManagerService$LocalService.applyForegroundServiceNotification(android.app.Notification, java.lang.String, int, java.lang.String, int) for 4.375s
2024-08-23 11:34:47.670   642-777   system_server           system_process                       W  Long monitor contention with owner binder:642_4 (811) at void com.android.server.am.ActivityManagerService$AppDeathRecipient.binderDied()(ActivityManagerService.java:1479) waiters=2 in android.content.Intent com.android.server.am.ActivityManagerService.registerReceiverWithFeature(android.app.IApplicationThread, java.lang.String, java.lang.String, java.lang.String, android.content.IIntentReceiver, android.content.IntentFilter, java.lang.String, int, int) for 2.980s
2024-08-23 11:34:47.671   642-642   system_server           system_process                       W  Long monitor contention with owner binder:642_4 (811) at void com.android.server.am.ActivityManagerService$AppDeathRecipient.binderDied()(ActivityManagerService.java:1479) waiters=3 in android.content.Intent com.android.server.am.ActivityManagerService.registerReceiverWithFeature(android.app.IApplicationThread, java.lang.String, java.lang.String, java.lang.String, android.content.IIntentReceiver, android.content.IntentFilter, java.lang.String, int, int) for 1.415s
2024-08-23 11:34:51.085   642-1314  UnsafeUtil              system_process                       W  platform method missing - proto runtime falling back to safer methods: java.lang.NoSuchMethodException: sun.misc.Unsafe.copyMemory [class java.lang.Object, long, class java.lang.Object, long, long]
2024-08-23 11:34:51.439   642-675   system_server           system_process                       W  Long monitor contention with owner batterystats-worker (676) at void com.android.server.am.BatteryExternalStatsWorker.updateExternalStatsLocked(java.lang.String, int, boolean, boolean, int, int[], boolean)(BatteryExternalStatsWorker.java:733) waiters=0 in void com.android.server.am.BatteryStatsService.lambda$noteStartWakelockFromSource$24(android.os.WorkSource, int, java.lang.String, java.lang.String, int, boolean, long, long) for 242ms
2024-08-23 11:34:52.182   642-1323  system_server           system_process                       W  Long monitor contention with owner backup (793) at void com.android.server.backup.UserBackupManagerService.initPackageTracking()(UserBackupManagerService.java:949) waiters=0 in void com.android.server.backup.UserBackupManagerService.dataChangedImpl(java.lang.String, java.util.HashSet) for 434ms
2024-08-23 11:34:52.546   642-793   system_server           system_process                       W  Long monitor contention with owner backup-0 (1323) at void com.android.server.backup.UserBackupManagerService.dataChangedImpl(java.lang.String, java.util.HashSet)(UserBackupManagerService.java:2495) waiters=0 in void com.android.server.backup.UserBackupManagerService.updateStateOnBackupEnabled(boolean, boolean) for 328ms
2024-08-23 11:34:52.895   642-657   system_server           system_process                       W  Long monitor contention with owner android.bg (668) at com.android.server.search.Searchables com.android.server.search.SearchManagerService.getSearchables(int, boolean)(SearchManagerService.java:130) waiters=0 in com.android.server.search.Searchables com.android.server.search.SearchManagerService.getSearchables(int, boolean) for 269ms
2024-08-23 11:34:53.321  1263-1263  UnsafeUtil              com.android.launcher3                W  platform method missing - proto runtime falling back to safer methods: java.lang.NoSuchMethodException: sun.misc.Unsafe.copyMemory [class java.lang.Object, long, class java.lang.Object, long, long]
2024-08-23 11:34:57.869   826-838   ndroid.systemui         com.android.systemui                 I  JIT allocated 55KB for compiled code of void androidx.constraintlayout.motion.widget.MotionController.setup(int, int, long)
2024-08-23 11:34:57.870   826-838   ndroid.systemui         com.android.systemui                 I  Compiler allocated 4812KB to compile void androidx.constraintlayout.motion.widget.MotionController.setup(int, int, long)
2024-08-23 11:34:59.236   826-838   ndroid.systemui         com.android.systemui                 I  JIT allocated 55KB for compiled code of void androidx.constraintlayout.motion.widget.MotionController.setup(int, int, long)
2024-08-23 11:34:59.236   826-838   ndroid.systemui         com.android.systemui                 I  Compiler allocated 4806KB to compile void androidx.constraintlayout.motion.widget.MotionController.setup(int, int, long)
2024-08-23 11:35:00.261   826-838   ndroid.systemui         com.android.systemui                 I  JIT allocated 55KB for compiled code of void androidx.constraintlayout.motion.widget.MotionController.setup(int, int, long)
2024-08-23 11:35:00.262   826-838   ndroid.systemui         com.android.systemui                 I  Compiler allocated 4806KB to compile void androidx.constraintlayout.motion.widget.MotionController.setup(int, int, long)
2024-08-23 11:35:00.697   826-838   ndroid.systemui         com.android.systemui                 I  JIT allocated 55KB for compiled code of void androidx.constraintlayout.motion.widget.MotionController.setup(int, int, long)
2024-08-23 11:35:00.698   826-838   ndroid.systemui         com.android.systemui                 I  Compiler allocated 4806KB to compile void androidx.constraintlayout.motion.widget.MotionController.setup(int, int, long)
2024-08-23 11:35:10.241   642-669   ActivityManager         system_process                       I  Waited long enough for: ServiceRecord{374152a u0 com.rockchip.devicetest/.service.TestService}

(希望大神能指导,给个bug解决思路)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/877804.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【STM32】一些外设通用内容

在学习各种外设的过程中&#xff0c;发现外设有一些通用的东西可以总结一下&#xff0c;后面发现再继续更新。图来源于正点原子的学习视频和PPT。 目录 1 外设的时钟的开启 2 外设初始化的回调机制 3 外设的中断服务函数 4 HAL库中断回调机制 5 函数的常见…

Onnx使用预训练的 ResNet18 模型对输入图像进行分类,并将分类结果显示在图像上

目录 一、整体功能概述 二、函数分析 2.1 resnet() 函数&#xff1a; 2.2 pre_process(img_path) 函数&#xff1a; 2.3 loadOnnx(img_path) 函数&#xff1a; 三、代码执行流程 一、整体功能概述 这段代码实现了一个图像分类系统&#xff0c;使用预训练的 ResNet18 模型对…

计算机毕业设计hadoop+spark+hive漫画推荐系统 动漫视频推荐系统 漫画分析可视化大屏 漫画爬虫 漫画推荐系统 漫画爬虫 知识图谱 大数据

流程&#xff1a;1.DrissionPageSelenium自动爬虫工具采集漫画视频、详情、标签等约200万条漫画数据存入mysql数据库&#xff1b; 2.Mapreduce对采集的动漫数据进行数据清洗、拆分数据项等&#xff0c;转为.csv文件上传hadoop的hdfs集群&#xff1b; 3.hive建库建表导入.csv动漫…

使用Python+os/shutil删除文件、空目录和非空目录

一、使用Python的os.remove函数删除文件 import os# 永久删除文件 if os.path.exists(test1.txt):os.remove(test1.txt) 二、使用Python的os.rmdir函数删除空文件夹 import os# 永久删除空目录 if os.path.exists(empty_directory):os.rmdir(empty_directory) 三、使用Pyth…

驱动开发系列11 - Linux Graphics 图形栈概述(二)

目录 一:GPU 和 硬件 现代 GPU 功能概览: 硬件结构: 屏幕驱动: 屏幕连接器: 屏幕 CRT 控制器: CPU与GPU通信: 现代主机通信总线介绍: 通信方法: GPU 编程:通过 MMIO 访问寄存器 CPU 和 GPU 内存请求路由: GPU 可访问的内存区域: GTT/GART 是 CPU 与 GPU 共享的通信缓…

R语言VAR模型的多行业关联与溢出效应可视化分析

全文链接&#xff1a;https://tecdat.cn/?p37397 摘要&#xff1a;本文对医疗卫生、通信、金融、房地产和零售等行业的数据展开深入研究。通过读取数据、计算收益率、构建 VAR 模型并进行估计&#xff0c;帮助客户进一步分析各行业变量的影响及残差的协方差与相关矩阵&#xf…

框架——MyBatis查询(单表查询,多表联查)

目录 1.单表查询 2.多表查询 想查询student并且查询student所选择的专业major ①通过id查一个 ②不传入值直接查所有的学生列表 ③嵌套查询 想查询专业major并且查询该专业被哪些学生student选择 ①通过id查一个 ②不传入值直接查所有的专业列表 ③嵌套查询 3. 设置自动…

SQL, 有终止条件的多次累计计算

MSSQL数据库的data表存储了多人上电梯的情况&#xff0c;turn表示进电梯的顺序。电梯最大承重1000公斤&#xff0c;每趟能上的人数有限&#xff0c;超重的人要等下一趟。nameweightturnAlice2501Bob1702Alex3503John4004Winston5005Marie2006 请计算每趟电梯最后一个进入的人的…

IOS半越狱工具nathanlr越狱教程

简介 nathanlr 是一款半越狱工具&#xff0c;不是完整越狱。 半越狱只能使用一些系统范围的插件。 无法做到完整越狱 Dopamine 越狱一样插件兼容性。 nathanlr支持 iOS 16.5.1 – 16.6.1 系统。 支持 A12 及以上设备。 肯定有人问&#xff0c;为什么仅仅支持这些系统&#xff…

嵌入式学习day33

tcp的特点 面向字节流特点&#xff0c;会造成可能数据与数据发送到一块&#xff0c;成为粘包&#xff0c;数据之间不区分 拆包 因为缓冲区的大小&#xff0c;一次性发送的数据会进行拆分&#xff08;大小不符合的时候&#xff09; 就和水一样一次拆一次沾到一块&#xff0c…

测试用例的设计

*涉及概念来源于《软件测试的艺术》 目录 一、为什么要设计测试用例&#xff1f; 二、黑盒测试与白盒测试介绍 三、测试用例常见设计方法 1.黑盒测试(功能测试) 2.白盒测试(结构测试) 四、测试策略 五、测试用例怎么写 一、为什么要设计测试用例&#xff1f; 由于时间…

Git 的基本使用

1.创建 Git 本地仓库 仓库是进⾏版本控制的⼀个⽂件⽬录。我们要想对⽂件进⾏版本控制&#xff0c;就必须先创建⼀个仓库出来&#xff0c;例如下面代码创建了gitcode_linux的文件夹&#xff0c;之后再对其进行初始化。创建⼀个 Git 本地仓库对应的命令为 git init &#xff0c…

少年我看你有缘,这部《html标签大合集》就送你了

HTML标签是用于定义网页结构和内容的元素。标签通常是成对出现的&#xff0c;由开始标记和结束标记组成&#xff0c;开始标记使用尖括号< >包围&#xff0c;结束标记使用尖括号和斜杠/包围。开始标记中的元素属性可以提供额外的信息。 1.基础标签 html 标签 head 头标…

Codeforces Round 967 (Div. 2) C题Guess The Tree

题目链接 令1是根&#xff0c;我们可以一层一层的递推出去。容易知道询问a&#xff0c;b如果结果是c&#xff0c;那么c就是a&#xff0c;b路径上的中点。我们可以先让根1和其他n-1个点都询问一遍&#xff0c;如果返回值是1&#xff0c;那么这些点就是第二层&#xff0c;深度为2…

【注解】反序列化时匹配多个 JSON 属性名 @JsonAlias 详解

JsonAlias 注解是 Jackson 提供的一个功能强大的注解&#xff0c;允许一个字段在反序列化时匹配多个 JSON 属性名。它适用于在处理多种输入数据格式时&#xff0c;或当 JSON 数据的键名可能变化时。 一、JsonAlias 的作用 多种别名&#xff1a;JsonAlias 允许你为一个字段定义…

ZNS SSD是不是持久缓存的理想选择?

随着数据量的增加和技术的进步&#xff0c;对于高效、可靠的存储解决方案的需求日益增长。传统的基于块的SSD虽然具有成本效益和持久性的优点&#xff0c;但在处理写密集型和更新密集型工作负载时存在局限性。 NAND闪存的特点是数据只能按页&#xff08;例如4KiB&#xff09;写…

2024年最新最全的【大模型学习路线规划】从零基础入门到精通!

2024年最新最全的大模型学习路线规划&#xff0c;对于零基础入门到精通的学习者来说&#xff0c;可以遵循以下阶段进行&#xff1a; 文章目录 一、基础准备阶段数学基础&#xff1a;编程语言&#xff1a;深度学习基础&#xff1a; 二、核心技术学习阶段Transformer模型&#xf…

[Linux#41][线程] 线程的特性 | 分离线程 | 并发的问题

1.线程的特性 进程和线程的关系如下图: 关于进程线程的问题 • 如何看待之前学习的单进程&#xff1f;具有一个线程执行流的进程 线程 ID 及进程地址空间布局 pthread_ create 函数会产生一个线程 ID&#xff0c;存放在第一个参数指向的地址中。 该线程 ID 和前面说的线程 ID …

动手实现基于Reactor模型的高并发Web服务器(一):epoll+多线程版本

系统流程概览 main函数 对于一个服务器程序来说&#xff0c;因为要为外部的客户端程序提供网络服务&#xff0c;也就是进行数据的读写&#xff0c;这就必然需要一个 socket 文件描述符&#xff0c;只有拥有了文件描述符 C/S 两端才能通过 socket 套接字进行网络通信&#xff0…

4.Redis单线程和多线程

1.Redis的单线程 Redis的单线程主要是指Redis的网络IO和键值对读写是由一个线程完成的&#xff0c;Redis在处理客户端的请求时包括获取&#xff08;Socket读&#xff09;、解析、执行、内容返回&#xff08;Socket写&#xff09;等都由一个顺序串行的主线程处理&#xff0c;这…