mirror of
				https://git.tardis.systems/mirrors/yuzu
				synced 2025-10-31 18:54:14 +01:00 
			
		
		
		
	android: Use smaller read buffer size for exporting user data
The File.readBytes() extension attempts to load an entire file into a byte array. This would cause crashes when loading huge files into memory.
This commit is contained in:
		
							parent
							
								
									33e2dce715
								
							
						
					
					
						commit
						5269a46399
					
				| @ -50,6 +50,7 @@ import org.yuzu.yuzu_emu.model.TaskViewModel | ||||
| import org.yuzu.yuzu_emu.utils.* | ||||
| import java.io.BufferedInputStream | ||||
| import java.io.BufferedOutputStream | ||||
| import java.io.FileInputStream | ||||
| import java.io.FileOutputStream | ||||
| import java.util.zip.ZipEntry | ||||
| import java.util.zip.ZipInputStream | ||||
| @ -639,7 +640,15 @@ class MainActivity : AppCompatActivity(), ThemeProvider { | ||||
|                             file.path.length | ||||
|                         ) | ||||
|                         stream.putNextEntry(ZipEntry(newPath)) | ||||
|                         stream.write(file.readBytes()) | ||||
| 
 | ||||
|                         val buffer = ByteArray(8096) | ||||
|                         var read: Int | ||||
|                         FileInputStream(file).use { fis -> | ||||
|                             while (fis.read(buffer).also { read = it } != -1) { | ||||
|                                 stream.write(buffer, 0, read) | ||||
|                             } | ||||
|                         } | ||||
| 
 | ||||
|                         stream.closeEntry() | ||||
|                     } | ||||
|                 } | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user