android.content.res.AssetManager.finalize() timed out after 120 seconds

在OPPO R9和A5设备上遇到错误:android.content.res.AssetManager.finalize() 超时120秒。解决方法包括关闭超时计时器或者延长超时时间,并在Application的attachBaseContext()方法中进行设置。
摘要由CSDN通过智能技术生成

异常问题:

android.content.res.AssetManager.finalize() timed out after 120 seconds
在这里插入图片描述

主要发生在OPPO R9和A5的手机;

解决方式有两种:

1、关掉这个负责计时的

private void fixOppoAssetManager() {
   
        String device = AppUtils.getDevic
要在 `android.media.MediaDataSource` 中实现解密,您可以按照以下步骤进行操作: 1. 创建一个自定义的 `MediaDataSource` 类,并实现其抽象方法。在 `readAt()` 方法中,您可以添加解密逻辑来读取加密媒体数据。 ```java public class EncryptedMediaDataSource extends MediaDataSource { private InputStream inputStream; public EncryptedMediaDataSource(InputStream inputStream) { this.inputStream = inputStream; } @Override public int readAt(long position, byte[] buffer, int offset, int size) throws IOException { // 在这里添加解密逻辑 // 从输入流中读取加密数据到缓冲区 // 解密缓冲区中的数据 // 将解密后的数据复制到给定的 buffer 中 // 返回实际读取的字节数 return bytesRead; } @Override public long getSize() throws IOException { // 返回媒体数据的总大小 return size; } @Override public void close() throws IOException { // 关闭输入流 inputStream.close(); } } ``` 2. 创建一个 `MediaPlayer` 实例,并设置自定义的 `MediaDataSource`。 ```java try { AssetManager assetManager = getAssets(); InputStream encryptedInputStream = assetManager.open("encrypted_media.mp4"); MediaDataSource dataSource = new EncryptedMediaDataSource(encryptedInputStream); MediaPlayer mediaPlayer = new MediaPlayer(); mediaPlayer.setDataSource(dataSource); } catch (IOException e) { e.printStackTrace(); } ``` 以上是一个简单的示例,您需要根据您的加密算法和数据格式来实现解密逻辑。确保解密逻辑正确并且能够正确读取数据,并在 `readAt()` 方法中将解密后的数据复制到给定的缓冲区中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

沉淀的沙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值