メモリーリークを防ぐには欠かせない Lifecycle Observer は remove/unregister 不要

「不要」というより「自動」なので超便利。

ここでは、addObserver()の呼び出しはありますが、onDestroyのremoveObserver()の呼び出しはありません。これは意図的なものでしょうか?

LifeCycle Observer は remove/unregister 不要

👉 BoundLocationManager.java at googlecodelabs 

ライフサイクルを考慮した新しいコンポーネントの良い点は、Observer の解除や削除が不要なことです。

👉 Lifecycle Observer is not removed in step_4 · Issue #5 · googlecodelabs/android-lifecycles 


// no need to unsubscribe/remove observers
lifecycleOwner.lifecycle.addObserver(object : DefaultLifecycleObserver {
  override fun onDestroy(owner: LifecycleOwner) {
    container.removeAllViews()
  }
})

拡張関数などでも便利に使えそうです。

👉 LeakCanary 


【Homebrew】git が2つある場合 【macOS】

git homebrew macos

👉 Re-installing Git on Mac OSX with Brew 

状況確認


~ % which git
/usr/local/bin/git

~ % git --version
git version 2.33.0

~ % which -a git 
/usr/local/bin/git
/usr/bin/git

~ % for i in $(which -a git); do echo -n "${i}:  "; ${i} --version; done
/usr/local/bin/git:  git version 2.33.0
/usr/bin/git:  git version 2.32.0 (Apple Git-132)

~ %  cat /etc/paths
/usr/local/bin
/usr/bin
/bin
/usr/sbin
/sbin

~ % sudo rm -rf /usr/bin/git
Password:
rm: /usr/bin/git: Operation not permitted

私の mac には2つの git パッケージがインストールされている。


sudo rm -rf /usr/bin/git wont work for El Capitan due to SIP restriction

削除しようとしても macOS側の git は消せない。

通常、残しておくしかない。

対応方法

実行するときの git を Homebrew側に向けておく必要がある。

以下3つのどれかを、bash でも zsh でも起動スクリプトに追加する。


export PATH=$PATH:/usr/local/bin/git


export PATH=/user/local/bin:$PATH


alias git="/usr/local/bin/git"

AndroidStudio の git 不具合のときに少し気になったのでメモ。

👉 Cannot Run Git : Cannot identify version of git executable: no response – on startup 


2021年 人気記事ベスト10 のアクセス増減にみるAndroid界隈

やみくもにアンテナ的に記事を撒いてますのでここで集計しておきます。

1.

👉 Google Play の残高 で LINEスタンプ を買う方法 
Google Play の残高 で LINEスタンプ を買う方法

LINEネタは強い。しかし、機能がリッチになるにつれて、ややこしさを叫ぶユーザーが激増。

国内では今後も一強のメッセージングアプリか。

2.

👉 Google Play ストア アプリのメニューが消えた?! 
Google Play ストア アプリのメニューが消えた

アプリのUI/UXの変更はユーザーをイライラさせることが多い。

これもそう。

アプリの自動更新のための操作と思われ、「自動更新」の意味が問われる。

3.

👉 【Android10】隠し機能の「画面録画機能(screenrecord)」を使うべし 
【Android10】隠し機能の「画面録画機能(screenrecord)」を使うべし

画面の静止画キャプチャだけでなく、それは動画の録画保存にも変化。

文春のキャプチャて受信者以外が一次的に取得できる方法があれば、それは個人情報漏洩。

4.

👉 【Android 公式】正しいアプリの終了方法 ← 
【Android 公式】正しいアプリの終了方法

個別のアプリの完全終了は雰囲気でしかない。

完全に終了すること大事。

再起動は、コールドスタートになるが完全にリフレッシュされている。

5.

👉 Android 端末 キーボード切り替え方法あれこれ 
Android 端末 キーボード切り替え方法あれこれ

キーボードアプリをサードパーティに依存する怖さの認識は甘い。

何のために、Google公式が手間をかけてキーボードアプリに力を入れているのか。

最終的には、Android権限をフルに利用した Google Gboard 一択になるのは時間の問題。

6.

👉 YouTubeに縦長動画をどうアップするべきか? 
YouTubeに縦長動画をどうアップするべきか

視聴するデバイスがPCではなく、いまやスマホ。横長では見づらい。

YouTube は強い。

テレビは数分で消すことになるくらいひどい。

7.

👉 【Android11】ジェスチャーボタン操作が変わっている件 
 【Android11】ジェスチャーボタン操作が変わっている件

OSの勧める新しい操作や機能に合わせていくのが王道。

ジェスチャーボタンについてもそう。

最終的には iPhone と Android は、全く同じになるのでは。

8.

👉 「単語リスト(ユーザー辞書)」が変換候補に表示されない場合 
「単語リスト(ユーザー辞書)」が変換候補に表示されない場合

Android OSの持つ「ユーザー辞書」機能は、開発側になんとなく虐げられてるイメージ。

端末ベンダーやキーボードアプリによっても変わってくるのが混乱の原因。

意図的に削除が必要なキャッシュは常にどこでも問題を引き起こしがちです。

9.

👉 Android端末ユーザー辞書に最新絵文字を追加する方法 
Android端末ユーザー辞書に最新絵文字を追加する方法

キャッシュの削除ともに意識すべきユーザー辞書を使う方法。

メールアドレス、名前、アカウント名、住所、電話番号など、よく使う文字列から登録しまくるのがよい。

10.

👉 Pixel 5 / 4a(5G) / 4a で ahamo は使えるのか 
Pixel 5 / 4a(5G) / 4a で ahamo は使えるのか

結局は、ブロードキャスト側 docomo に任せるしかない。

端末選びは焦らなくて良い。

50GMB出れば、動画もストレスなく見れる。

まとめ

全体的にアクセス数は、2021春をピークに下降。

今後はどうなるのか。