スキップしてメイン コンテンツに移動

Eclipseの高速化メモ

Eclipseが重いと一言に言っても、いろいろな工程での話があると思いますが、過去記事のなども含めてこの記事にピックアップしておきたいと思います。以下はWindows環境での話です。


ハードでゴリ押す

開発環境に手をかけず、最も効果的なのはやっぱりPCのスペックアップでしょう。CPU、メモリ、SSDあたりがキーになるかと思います。その中でもCPUとメモリはある程度しっかりしたものでないと、生産性に影響します。会社等で古いマシンを使ってる方は、Eclipseをどうかするよりプロジェクトリーダーなり、上司なりにスペックアップへの言葉巧みな提案を考えた方が良いかもしれません。
客先とかだと提案し辛いですが...

PR:CPUメモリSSD

ヒープサイズをアップ

メモリをゲットあるいは、余裕があるならEclipseヒープサイズアップを
・試行錯誤ログ: Evernote SDK for Androidを使う時はEclipseのヒープサイズをアップさせた方がよさそう
http://www.takaiwa.net/2012/10/evernote-sdk-for-androideclipse.html
Android開発などの場合、アプリの容量によっては固まってしまう恐れがあるので、割りと大事なポイントかと思います。

Eclipseのバージョンダウン

・試行錯誤ログ: Eclipseが重いのでバージョンダウン
http://www.takaiwa.net/2012/10/eclipse.html
 バージョンが低い方が動作が軽快な印象がありますが、プロジェクトによっては勝手に変更できないでしょうし、バージョンによって挙動がおかしかったりするのでリスクもあります。ハードが手に入らない場合の苦肉の策ですね。今Heliosにしていますが、Indigoでもそうですが、ビルドの残りかすのようなのが出る場合があって、どこもおかしくないのにエラーが表示されたままになり、一度クリーンする必要があるなどの煩わしさとか、Eclipseがファイルをつかみっぱなしで削除できないなどの現象を確認しています。

[メモ]

・ついにメジャーバージョンUP! Eclipse 4.2の新機能7選 (1/2) - @IT (Juno)
http://www.atmarkit.co.jp/fjava/rensai4/devtool28/01.html


自動ビルドしないようにする

いろんなサイトで触れられてますが、ビルドを別途するのが面倒だと思いやっていませんでした。が、ビルドが劇的に速くなったので載せておきます。

自動ビルドにしておくと、何度もCtrl + S等の保存で以下のようなダイアログが表示されて、


ダイアログが消えないとコーディングどこからEclipseに触れられません。非常に邪魔なダイアログなのですが、


自動ビルドをはずすと(上図のチェックをはずす)と、ダイアログで邪魔されなくなり、自分のタイミングでビルドを行えます。その代わりに、ショートカットキーを使います。ビルドはデフォルトで、Ctrl + Shift + Bと割り当てられてますが、クリーンにもCtrl + Shift + Cに割り当てておけば、特に煩わしくならないと思います。

ちなみに、ショートカットキーの割り当ては、ウィンドウ > 設定 > 一般 > キーで変更できます。

フォントを変更する

主にコーディングの時ですが、タイピングの反映スピードが若干向上する気がします。というか、重いフォントを使ってる前提に限りですが....
とりあえず、日本語フォントはデフォルトのもので諦めるとして、英数字にこだわれば良いかと。
僕が使ってるのは以下です。
・Source Code Pro | Free software downloads at SourceForge.net
http://sourceforge.net/projects/sourcecodepro.adobe/

補完設定をカスタマイズ

コーディングに関しては、こちらも。
・Eclipseの補完設定をカスタマイズして爆速コーディング - ser1zw's blog
http://ser1zw.hatenablog.com/entry/20110130/1296393620
・Eclipse 3.6のコード補完のフリーズを解消する - ごりぽんソフトウェア
http://d.hatena.ne.jp/goriponsoft/20110210/1297305320

ガベージコレクションする

Window > Preference > GeneralでShow heap statusにチェックを付けると、Eclipseの右下の方にメモリの使用とゴミ箱が表示されます。動作が重くなったらゴミ箱をクリックすると、ガベージコレクションしてくれます。



ただ、これは上記のメモリの増設とヒープサイズアップをやってれば気にしなくても良くなると思いますし、面倒なのでメモリを増やしに注力する事をオススメしたいです。

プラグインをそぎ落とす

プラグインがたくさん入ってる前提ですが、例えばAndroid開発をしているなら、Web等の余計なプラグインとかは入れずにシンプルにJavaだけの環境にする方が良いでしょう。特にPHPのコード補完とか入ってたら重くなると思います。利便性との兼ね合いですが。
・あきタコのまったりブログ eclipseさん、すみません。重いのはpleiadesのAll in oneのようです。
http://akitako.blog2.fc2.com/blog-entry-888.html

Usage Data CollectorをOFF

Window > PrefereceのUsage Data CollectorをOFFにすると改善されるかもしれません。ユーザーの使用状況をeclipse.orgにフィードバックする機能だそうです。


僕はONのままにしてますが...
Android版もあって、Googleに送信しているようです。

プロジェクトを減らす

試作を作ったり、サンプルコードをインポートしたりで、Eclipseにプロジェクトが乱立しているかもしれません。開発に必要なプロジェクトだけにしぼっておいて、試作したようなのは、Gitでプッシュしておくとか。
主に起動が速くなると思います。

メモリ上で動かす?

・メモリ上で最速 Eclipse - C/pHeR Memo - Java とか。Eclipse とか。
http://d.hatena.ne.jp/cypher256/20080907/p2
今度やってみたいと思います。

Androidならエミュレータを高速化

・【番外編】Androidの爆速エミュレータ環境を構築する | クラスメソッド開発ブログ
http://dev.classmethod.jp/smartphone/build-fast-android-emulator/
ただし、古いCPUだと動かない場合もあります。
CPUが対応していないなら、VirtualBox上でデバッグ
・試行錯誤ログ: VirtualBoxでAndroid4.0をデバッグ自分用メモ
http://www.takaiwa.net/2012/07/virtualboxandroid40_5634.html


その他、何か気付いた事があれば追記していきたいと思います。


コメント

このブログの人気の投稿

Javaでprivateなfieldやmethodにアクセスする

JUnitでテストしてると、privateなフィールドにアクセスして、値を参照したりセットしたりしたくなるわけですが、よく使うのでメモしておきます。 例えば、次のような対象のクラスがあるとします。 public class ParentClass { private String hoge = "ParentClass!!"; public void dispMsg() { System.out.println("dispMsg:" + hoge); } private void privateDispMsg(String msg) { System.out.println("dispMsg:" + msg); } }

GolangでWindows GUIアプリケーション

GUIアプリ作成の前提 社内ツールとしてexeで配布 開発環境はGoLandを使う 社内ツールとしてexeを配布ということであれば、Visual StudioでC#による開発だと思います。しかしながら、Go言語を習得したいのと、GoLandの補完機能が便利で、Android Studio使っていたこともあり、とっつきやすいという点からGo縛りでGUIアプリケーションを考えたいと思います。 lxn/walk Windows application library kit for Go. Windows向けしか考えていないので、まずこのライブラリなのですが、ボタンやコンボボックスが思ったように並ばなかったり、手軽にイメージボタンを配置したりなど、簡単にレイアウトを変更できない課題に直面しました。レイアウト作成だけで時間を取られてしまいます。そう言えば、Androidアプリ開発のときは、XMLでデザイン部分を切り離してたのを思い出して、今回の調査の運びとなりました。 fyne-io/fyne Cross platform native GUIs designed for Go based on Material Design. Supports: Linux, macOS, Windows, BSD, iOS and Android. walkと比べると、クロスプラットフォームで作成できるのですが、こちらもコードの中にデザインを書いていく形でした。 therecipe/qt therecipe/qt allows you to write Qt applications entirely in Go or JavaScript. Qt Creatorなるものがあるようで、デザイン部分を切り離せる印象はあるものの、最新のPCでもビルドに時間がかかるようで、学習コストもかかるという記事を見かけて断念しました。 どうしたものかとツイートしましたら、下記のようにご助言をいただいた。 同じ課題に対し色々試した結果、PWAのフルキャッシュドに落ち着いた。中身はGo+WASMで。 https://t.co/e60whDTV16 — のぼのぼ📡 (@nobonobo) July 21, 2020 PWA 早速調べてみました。Googleが進めているプロジェクトで、ネイティブアプリのよ