我正在为Android创建一个社交应用程序,并且正在提前规划,在Android中存储可能存储数百万用户生成的上传照片的可行方式。我有一个MySQL数据库,它保存图像路径,并考虑在/ drawable目录之外创建一个文件夹来保存物理图像。我可以做到这一点,但后来我想如果我做了那么Android APK文件只会气球大小,因为你在应用程序中存储所有图像;有没有更好的方法来存储许多图像?我一直在寻找答案,但关于android的这个主题并不多。
答案 0 :(得分:0)
大多数社交媒体应用所做的是他们 SYNC 数据。这就是你需要做的。不要在应用程序中添加图像.Rather获取手机中的外部存储位置/路径。请参阅此Question和this Question以及此link。然后当用户打开应用程序时。将数据w.r.t与Sqlite本地数据库的MySql数据库同步。
这样您也可以避免OutofMemory Bug
答案 1 :(得分:0)
你想要的不是保存你的apk中的图像,而是保存在外部文件夹中。 一旦你的应用程序变成了apk,你就无法修改其中的任何内容。
Android设备的问题在于它们有很多种类。有些有SD卡插槽,有些只有内部存储(如Nexus),较便宜的型号没有足够的内存。
您应拥有的动态内容应通过远程服务器访问,并且只能按需访问。如果您的用户不再看到或不想看到它,请不要将其保留在手机上。积极参与社交媒体的人对几天前发生的事情不感兴趣。我的建议是:将您的图像存储在AWS S3或其他云解决方案中,然后让应用程序与您的服务器通信以检索网址。实际下载到设备的图像应该在到期时缓存,可能需要几天。留下尽可能小的足迹。