我在存储头像时遇到问题。我的应用程序获得了用户的图像细节(图像在byte []数组中)。如何在我的应用程序中存储此图像?我的意思是我应该在内部或外部存储中保存每个用户的图像吗?或者我应该及时使用此图像并设置为ImageView?什么是我的问题的最佳解决方案?
感谢您的帮助:)
答案 0 :(得分:0)
首先将字节数组转换为位图
Bitmap bitmap = BitmapFactory.decodeByteArray(bitmapdata , 0, bitmapdata .length);
并将位图作为文件存储到外部存储
答案 1 :(得分:0)
在内部存储中存储图像有利有弊。它在很大程度上取决于您的应用程序的业务逻辑。在android文档here中,它得到了很好的解释。
内部存储空间:
它始终可用。
此处保存的文件只能由您的应用访问。
- 当用户卸载您的应用时,系统会从内部存储中删除所有应用的文件。
醇>外部存储空间:
它并不总是可用,因为用户可以将外部存储装载为USB存储设备,并在某些情况下将其从设备中移除。
- 醇>
它具有世界可读性,因此保存在此处的文件可能会在您的控件之外读取。 当用户卸载您的应用程序时,只有当您将应用程序的文件保存在getExternalFilesDir()目录中时,系统才会从此处删除应用程序的文件。