一部のAndroid端末ではsRGB以外の色空間が指定された画像を壁紙にするとクラッシュする 21
ストーリー by hylom
色空間の罠 部門より
色空間の罠 部門より
一部のAndroid端末で特定の画像を壁紙に設定するとクラッシュする問題が発生しているとのこと(iPhone Mania)。Google Pixelのほか、さまざまなメーカーのAndroid端末でこの問題が確認されているようだ。
この問題は、色空間としてsRGB以外が指定された画像を壁紙にした場合に発生するようだ。Android 10の壁紙機能では、sRGB以外の色空間をサポートしておらず、その場合にクラッシュが発生してしまうという。Android 11では自動的に色空間の変換処理が行われるようになったため、この問題は発生しないようだ(Dylan Roussel氏による検証)。
sRGB以外の色空間が指定された画像を壁紙にするとクラッシュする (スコア:2)
UI起動時に画像のヒストグラムを取得しようとしてこけて、
UIの再起動ループになってしまう、みたいな状態ぽい?
sRGB指定の画像なら大丈夫なのは確かだろうけど、
この画像やこのプロファイルでのみ発生する特殊な事例なのか、
タイトルに書かれているような、
sRGB以外の色空間が指定された画像を壁紙にするとクラッシュする
というようなレベルの事例なのかは不明。
sRGBじゃないプロファイルが指定された画像なんて、
今回のこの画像に限らずいくらでも公開されているわけで。
世界中のAndroidユーザが、たまたま運良くそれを壁紙に指定したことがなかった。
という可能性はかなり低そうな気がするので、
エラーになるのは結構特殊な事例なんじゃないか、という気はする。
ColorSync Profile (スコア:0)
Google/Skia/E3CADAB7BD3DE5E3436874D2A9DEE126
そんな名前のプロファイルはありませんよってことかな?
Re:ColorSync Profile (スコア:1)
それっぽいですね。
Dylan Roussel氏の投稿した内容によると [twitter.com]
Android 11では peekWallpaperBitmap に第6引数で getColorManagementProxy の返値を渡していますが、
Android 10のソース [googlesource.com]には無い引数なので11で拡張されたっぽい。
getColorManagementProxy も11で追加されたようですが、このあたりから [googlesource.com]から推察するに、
ディスプレイに最適なカラープロファイル値を返していそう。
そして11では peekWallpaperBitmap を辿った先 [googlesource.com]にある、
画像をビットマップに変換する BitmapFactory.decodeFileDescriptor の変換オプション [android.com]に、
上記のカラープロファイル値をセットして、常にディスプレイに最適な物で変換していると予想。
10の方は、ここがnullになってるので、画像に埋め込まれたICC Profileに基づいて変換する故に今回の問題となってそう。
という妄想の答え合わせをしたかったのですが、Android 11のソースは、まだ一般人は見れないのね…残念
Re: (スコア:0)
ソースw
Re: (スコア:0)
Re: (スコア:0)
一部のAndroid端
勝手にやってなはれ
Re: (スコア:0)
またいつもの発作?
先生に言われたとおり、ちゃんと薬は飲み切らないと駄目でしょう。
ほらちゃんと病室に戻って大人しくしていないと。
いつまでたっても退院できないよ。
Re: (スコア:0)
その Windows Phone カッコイイですね^^
Re: (スコア:0)
Re: (スコア:0)
始めたのはあなたですよ。
信仰は人を盲目にするとはいえ度が過ぎている。
Re: (スコア:0)
色即是空 空即是色
Re: (スコア:0)
こういうカスのせいで荒れる
Re: (スコア:0)
と醜く頻繁にクラッシュするWindowsから書き込んでおります。
Re: (スコア:0)
プリインストールされている方のAndroidはプロプライエタリで、Android 11のソースコードは公開されとらん。
Re: (スコア:0)
じゃあ「邪悪なM$はNTカーネルを捨ててLinuxカーネルに採用しろ」と騒いでる連中は何が目的なんだ?
Re: (スコア:0)
騒ぐこと自体じゃない?
Re: (スコア:0)
どこからその話に繋がるか、何を伝えたいのか分からんが、Linux karnelはオープンソース。