Android で 定数 (int)で enum を使うことは 

こんな記事を見かけた.

Why don't you use enum ? // Speaker Deck

...
public class Status {
  public static final int OK = 0;
  public static final int ERROR = 1;
}

public void onSomethingAction(int status) {
  switch (status) {
    case Status.OK:
      Log.d(TAG, “Status : OK”);
      break;
    case Status.ERROR:
      Log.d(TAG, “Status : NG”);
      break;
  }
}
...

より,

...
public enum Status {
  OK,
  ERROR
}

public void onSomethingAction(Status status) {
  Log.d(TAG, “Status : “ + status.name());
}
...

のほうがいいよね, と.

なんとなくここら「enum」についての議論を
よく見かけたような気がしたのですこし調べてみる.

even in the most recent documents android suggests that it's not such a good idea to use enums in an android application. The reason why is because they use up more memory than a static constants variable.

Working with Enums in android - Stack Overflow

Enums often require more than twice as much memory as static constants. You should strictly avoid using enums on Android.

java - Why Android uses Ints instead of Enums - Stack Overflow

Android_Memories____Speaker_Deck

Android Memories // Speaker Deck

公式ドキュメントには,

Be aware of memory overhead

Enums often require more than twice as much memory as static constants. You should strictly avoid using enums on Android.

Managing Your App's Memory | Android Developers

と書いてる.

他に,

Java enums are tremendously more expensive in code size than simple static final ints; classes and objects have not-insignificant overhead, so if you take a very class-heavy approach to your implementation you can end up with a significantly larger code size and RAM footprint for your app.

I really like this article on the importance of thinking about performance…

これに対して Jake Wharton さんも言及.

他には,

Should I strictly avoid using enums on Android?
No. Strictly means they are so bad, they should not be used at all. Possibly a performance issues might arise in an extreme situation like many many many (thousands or millions of) operations with enums (consecutive on the ui thread). Far more common are the network I/O operations that should strictly happen in a background thread. The most common usage of enums is probably some kind of type check - whether an object is this or that which is so fast you won't be able to notice a difference between a single comparison of enums and a comparison of integers.

java - Should I strictly avoid using enums on Android? - Stack Overflow

the original version of that document was just a bunch of prejudices. it's been rewritten to only contain facts backed up by actual benchmarks, and it's updated as the VM is updated. you can find the various benchmarks

Why was "Avoid Enums Where You Only Need Ints" removed from Android's performance tips? - Stack Overflow

結局,

オーバーヘッドは上がるが, まず最初はいうほど気にしなくてもよくね? 最近は. 見通しも良いし. 便利だし.

てな雰囲気でいいのかな. しらんけど.


Evernote を プレーンなテキストでペースト

なんなんだよ!!

フツーにコピペしたいだけなのにへんな装飾までついてきちゃう.

テキストだけ貼り付けたい.

装飾なしで貼る
Command + Shift + V

ということなのだが いつも貼ったあとにイラ.

Evernote_Basic

以下, そんな場合の事後処理.

装飾のみを削除(該当文字選択後)
Command + Shift + F

Evernote_Basic

文字についたリンクの削除(リンクされた文字のみ選択)
Command + Shift + K

Evernote_Basic

太字をノーマルに(ON/OFFトグル)
Command + B

Evernote_Basic

Evernote + Mac 限定なショートカットだけに

すぐに忘れる.

「CheatSheet」でもショートカット一覧はみれるが

逆に多すぎて探すのに時間がかかったり,

載ってないショートカットもあったりする.

高機能なアプリやソフトが多すぎて

逆にイライラすることはないですか?


Android Studio のショーットカットが覚えられないので「CheatSheet」

こんな便利なショートカットあるのかと.

最近一番使っている道具であるAndroid Studioを見直してみました。
その結果、新たな便利機能を知ったり、改めて便利さを認識できたりしたので、メモがてら少しまとめてみました。

AndroidStudio - 普段使っている道具を見直す〜Android Studio編〜 - Qiita

眺めていると, 便利なのが多すぎて嫌になってきたのですが,

せっかくなので2,3個くらい覚えようと.

Override メソッドの一覧選択表示
ctrl + o

メソッド引数の種類表示
command + p

classの階層を表示
ctrl + h

...

多い. 多すぎる.

ショートカットが覚えられない

記事の最後に, こんな.

CheatSheet が便利です。
commandを長押ししているだけで、使用しているソフトウェアのCheatSheetが表示されます。

これを入れておくことにします.

CheatSheet

CheatSheet

インストールして, アクセサビリティまわりの許可をすると,

cheat

Screenshot_8_10_15__06_16

表示されます.

45438522-e948-9874-6714-5052a5563ca8

これって, Mac上どのアプリでもいけるのですね.便利だわ.

Android Studio の 設定検索のショートカット

Ctl + Shift + A

SlidingTabStrip

と合わせて使えば便利です.