funswift / jinkawa-android

「じぷり」のAndroid版のリポジトリです
1 stars 0 forks source link

イベント作成時の画像容量が保存時に容量が増加している #117

Open ysnkw21 opened 6 years ago

ysnkw21 commented 6 years ago

Bitmap変換時に何らかが原因で容量が増えている?模様 (EventCreateActivity内のgetBitmapAsByteArray関数内でbyteArrayOutputStreamのサイズを出力してみたところ画像サイズ:5.29MB ➔ 11.90MB に変化) NCMBの一度に送れるオブジェクト容量が*10MBということで5MBくらいの画像を登録しようとしてもFileSizeLimitErrorで保存が出来ないです

*... 参考:mBaaS開発ガイドラインを公開しました - ニフクラmBaaSお役立ちブログ

taross commented 6 years ago

この件バイト終了後に調査・対応します BitMapの圧縮が可能であればそのように対応予定

ysnkw21 commented 6 years ago

了解

元画像サイズ2.2MBで試した際のエラー分も記載しておきます 最上部の"FileSize"がbyteArrayOutputStreamのサイズを出力したものです(単位はbyte)

2017-11-30 14 33 16

何故8MBくらいでもあかんのかは不明です(なんかTimeOutしてる?)

kalupas226 commented 6 years ago

http://mb.cloud.nifty.com/price.htm# 一度にアップロードできるファイルサイズは5MBが正しいかも

ysnkw21 commented 6 years ago

おうふまじか

taross commented 6 years ago

BitMapからByteArrayに変換するときに、組み込みの関数にqualityっていう引数があったのでそれを変更してみてもダメでした。 base64にエンコードかけたらなぜかファイルサイズが増加しました。こっちのやり方が悪いのかもしれないですが、検討が必要そうです。

ysnkw21 commented 6 years ago

qualityの値はpngでは意味がないという記述がありますねぇ… 参考:http://cuuma.publog.jp/archives/29638723.html

同じような状態の質問がstackOverFlowにありました… bitmap.compress(Bitmap.CompressFormat.PNG, 0, fOut) making image size bigger than original 上記を見る限り、qualityはpngではいじれないようですね…(jpgにしたほうがよいかも) 色彩が大きい画像ほどpngがお仕事しすぎてファイルサイズが増大しているようですね…