– 検索結果を非同期で表示するように変更
– タップ処理のバグ修正
検索結果を非同期で表示するように変更
検索画面を非同期で表示させるようにしたため、DBの読込み中でもタブの切り替えや画面の切り替えといった操作ができるようになりました。
先日、自分の携帯端末に入ってる曲の数が1万曲を越えました。それぐらいの曲数があると、検索画面で多数の曲を一覧表示させると、しばらく画面が固まったような状態になっていました。そのため、検索画面の処理を大幅に見直して、非同期で表示させて一覧が表示されるまでの操作も受け付けるようにすることで、画面が固まる状態を回避できるようにしました。
ちなみに、一覧の読込み中は「Loading…」という文字が表示されますが、検索結果が100件以下の場合は(一々出るのが鬱陶しいので)表示しないような処理が入ってます。100件という数字は適当です。速度的にはもっと大きくても良かった気もしますが、何となく切りが良かったので。もっとこう、表示速度を測定して自動チューニングとか出来れば良いのですが、そこまでしなくても良いかなぁ…と。
タップ処理のバグ修正
各種画面のタップ処理、特にダブルタップの処理に共通した処理に、自分の勘違いがあったため、全体的に見直してます。表面上は特に変化が無いです。APIの使い方が間違ってて、余計な処理が行われていたので、コードを正しい処理に書き直しています。
2015-09-05 Ver. 2.3.1
– SYLT読み込み処理修正
– メイン画面からフォルダ指定で開けない問題修正
– 区間ループが発生しない問題修正
– 区間ループが上限を超えて設定できる問題修正
– 検索画面のスワイプ処理修正
SYLT読み込み処理修正
これはユーザ様からの要望です。一部の曲でSYLT歌詞の読込が出来ないという報告がありました。調べて見ると、これはSYLTの問題ではなく、MP3タグのバージョン取得が上手く動作していないことが問題でした。従来は、タグ取得ライブラリが取得したタグのインスタンスを判別して、自動的にバージョンを振り分けていたのですが、これがMP3のID3 v2.4の場合にうまく動作せず、v2.3と判別してしまう場合があり、その結果タグが取得できなくなるということがわかりました。
これに対し、ライブラリが返してくるバージョン番号を見てバージョンを判別させるように処理を変更しました。
メイン画面からフォルダ指定で開けない問題修正
検索結果の非同期表示処理において、一部修正が漏れがあり、フォルダ指定でフォルダの検索結果が開けない問題が発生していたため、その修正を行いました。
区間ループが発生しない問題修正
区間ループ(ABループ)の処理で、一度ループが発生した後にループが再度発生しないことがある問題を修正しました。これについては、Googleが用意しているAPIの仕様を上手く把握できていないため、正しい実装ができていませんでした。正直なところ、今でもあまり把握できてません…。
区間ループが上限を超えて設定できる問題修正
区間ループでA地点、B地点の指定が上限・下限をオーバーして指定できてしまう問題があったため、修正しました。
検索画面のスワイプ処理修正
検索画面のスワイプ処理を一部見直しました。タップ処理周りの見直しです。動作的にはあまり変化はありません。スワイプの反応が微妙に変わったぐらいです。