и посмотреть медиа
Kotlin Preguntas de Entrevista
и посмотреть медиа
Preguntas de entrevista para desarrolladores de Kotlin con respuestas.
Preguntas de entrevista para desarrolladores de Kotlin con respuestas.
bot de IA para clonar texto a voz y voz en Telegram. Cree audio utilizando la red neuronal de forma rápida y fácil.
Preguntas de entrevista Kotlin: extensiones, coroutenos, colecciones. Con ejemplos de código y explicaciones para Android y backend.
🤔 Что такое TransactionTooLargeException? TransactionTooLargeException — это исключение, которое возникает, если передаваемые данные превышают лимит 1MB в Binder. Чаще всего ошибка появляется при передаче больших объектов через Intent, Bundle, `onSaveInstanceState(). 🚩Как воспроизвести `TransactionTooLargeException`? Передача большого Bitmap через Intent (ОШИБКА!) val bitmap: Bitmap = getLargeBitmap() // ❌ Очень большой объект val intent = Intent(this, ImageActivity::class.java) intent.putExtra("image", bitmap) // ❌ Ошибка: TransactionTooLargeException startActivity(intent) Ошибка android.os.TransactionTooLargeException: data parcel size 2MB is larger than 1MB 🚩Как избежать `TransactionTooLargeException`? Использовать FileProvider и Uri вместо Bitmap val file = File(context.cacheDir, "image.png") file.outputStream().use { bitmap.compress(Bitmap.CompressFormat.PNG, 100, it) } val uri = FileProvider.getUriForFile(context, "${context.packageName}.fileprovider", file) val intent = Intent(this, ImageActivity::class.java).apply { putExtra("image_uri", uri.toString()) addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION) } startActivity(intent) 🚩Использовать `ViewModel` вместо `onSaveInstanceState()` Ошибка: сохранение больших данных в onSaveInstanceState() override fun onSaveInstanceState(outState: Bundle) { outState.putSerializable("largeData", myLargeObject) // ❌ ОШИБКА! super.onSaveInstanceState(outState) } Решение → Используем ViewModel, чтобы хранить данные в памяти: class MyViewModel : ViewModel() { var largeData: MyLargeObject? = null } 🚩Хранить данные в `SharedPreferences` или `Room` Если данные не нужны постоянно → используем SharedPreferences getSharedPreferences("app_prefs", MODE_PRIVATE).edit() .putString("last_data", jsonData) .apply() Если данные большие и важные → используем Room @Dao interface MyDao { @Insert(onConflict = OnConflictStrategy.REPLACE) fun saveData(data: MyData) } Ставь 👍 и забирай 📚 Базу знаний
Открыть канал и посмотреть медиаSolo los usuarios registrados pueden compartir su opinión.
¡Sé el primero en compartir tu experiencia con este recurso!