Sebuah Aplikasi yang baik dan kuat/robust application seminimal mungkin harus terhindar dari bug walaupun pastinya no body's perfect,dan satu hal lagi yang menjadi ukuran baiknya sebuah apllikasi adalah tidak memiliki kebocoran memory atau lebih dikenal dengan Memory Leak.saya coba mengulas sedikit apa itu memory leak.
Memory Leak adalah suatu keadaan dimana suatu blok memory yang dialokasikan tp tidak pernah di bebaskan oleh pihak yang bertanggung jawab(program),jika memory yang dialokasikan tidak dibebaskan dari memory,maka akan mengurangi ketersedian memori yang dapat digunakan oleh sistem operasi dan aplikasi lainnya, sehingga apabila terdapat dalam jumlah yang besar, dapat mempengaruhi kinerja sistem operasi dan aplikasi lainnya.
Memory leak murni merupakan kesalahan pembuat program yang ceroboh dan kurang hati – hati dalam merancang / mengembangkan programnya.
Contoh Memory Leak
Contoh Berikut kita akan membuat sebuah memory leak
hanya contoh:
kode diatas sudah benar dan berhasil dikompile dan ditutup dengan baik,program kelihatannya berjalan baik-baik saja.tetapi sebenarnya ada sebuah blok memory yang dialokasikan untuk aObject dan tidak pernah dibebaskan walaupun kita sudah menutup program nya.blok memory yang tidak terpakai ini dapat dibebaskan setelah komputer di restart atau dengan menggunakan software memory cleaner.
Bagaimana mendeteksi Memory Leak?
Untuk mendeteksi Meory leak kita bisa menggunakan tool seperti eurekaLog dll.
Sejak Delphi 2006 keatas delphi menggunakan FastMM sebagai default Memory Manager nya ,dan mempunyai fasilitas untuk melaporkan adanya memory leak yang terjadi ketika aplikasi di tutup.secara default fasilitas ini tidak diaktifkan,kita dapat mengaktifkannya dengan satu baris kode saja pada file .dpr di project kita.
contoh pada file .dpr project :
dan compile kembali project tadi kemudian jalankan.setelah di tutup program tadi maka akan menampilkan laporan memory leak seperti berikut :
Fasilitas Laporan ini memang tidak menunjukan secara detail Unit,Procedure/Function,dan baris code dimana kesalahan tersebut terjadi.tetapi jika anda menggunakan produk komersial seperti eurekalog anda dijamin akan puas,tapi setidak nya lebih baik dari pada tidak sama sekali .
Jika anda Menggunakan Delphi 2006 kebawah anda bisa mendownload FastMM dan mengintregasikanya dengan delphi.
Semoga bermanfaat,Keep Spirit!
dikutip dari: http://fajardelphiscript.blogspot.com
Memory leak murni merupakan kesalahan pembuat program yang ceroboh dan kurang hati – hati dalam merancang / mengembangkan programnya.
Contoh Memory Leak
Contoh Berikut kita akan membuat sebuah memory leak
hanya contoh:
Procedure TForm1.Button1Click(Sender:TObject);
var
aObject:TObject;
begin
aObject:=TObject.Create;
ShowMessage('an Object was created!');
end;
kode diatas sudah benar dan berhasil dikompile dan ditutup dengan baik,program kelihatannya berjalan baik-baik saja.tetapi sebenarnya ada sebuah blok memory yang dialokasikan untuk aObject dan tidak pernah dibebaskan walaupun kita sudah menutup program nya.blok memory yang tidak terpakai ini dapat dibebaskan setelah komputer di restart atau dengan menggunakan software memory cleaner.
Bagaimana mendeteksi Memory Leak?
Untuk mendeteksi Meory leak kita bisa menggunakan tool seperti eurekaLog dll.
Sejak Delphi 2006 keatas delphi menggunakan FastMM sebagai default Memory Manager nya ,dan mempunyai fasilitas untuk melaporkan adanya memory leak yang terjadi ketika aplikasi di tutup.secara default fasilitas ini tidak diaktifkan,kita dapat mengaktifkannya dengan satu baris kode saja pada file .dpr di project kita.
contoh pada file .dpr project :
begin
ReportMemoryLeaksOnShutdown:=true;
Application.Initialize;
Application.MainFormOnTaskbar := True;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.
dan compile kembali project tadi kemudian jalankan.setelah di tutup program tadi maka akan menampilkan laporan memory leak seperti berikut :
Fasilitas Laporan ini memang tidak menunjukan secara detail Unit,Procedure/Function,dan baris code dimana kesalahan tersebut terjadi.tetapi jika anda menggunakan produk komersial seperti eurekalog anda dijamin akan puas,tapi setidak nya lebih baik dari pada tidak sama sekali .
Jika anda Menggunakan Delphi 2006 kebawah anda bisa mendownload FastMM dan mengintregasikanya dengan delphi.
Semoga bermanfaat,Keep Spirit!
dikutip dari: http://fajardelphiscript.blogspot.com
Random Articles
- Mematikan Fungsi Ctrl+Al+Del
- Membuat Fungsi Pembulatan Untuk Bilangan Desimal
- TXiButton: Stylish Button!
- Walkthrough Android Project
- Menyimpan data Memo kedalam file MS Word
- Cara Mudah Assembler di Delphi
- Menjalankan Aplikasi trial untuk 1 kali jalan
- Mengenal PASCALABC.NET
- Mematikan Taskbar dan Tray Ikon
- Minimize Seluruh Windows Internet Explorer
AI Forward

🚀 We're thrilled to partner with Alibaba Cloud for "AI Forward - Alibaba Cloud Global Developer Summit 2025" in Jakarta! Join us and explore the future of AI. Register now:
https://int.alibabacloud.com/m/1000400772/
#AlibabaCloud #DeveloperSummit #Jakarta #AIFORWARD
Last Articles
Recent Topic
- PascalTalk #6: (Podcast) Kuliah IT di luar negeri, susah gak sih?
by LuriDarmawan in Tutorial & Community Project more 4 years ago - PascalTalk #5: UX: Research, Design and Engineer
by LuriDarmawan in Tutorial & Community Project more 4 years ago - PascalTalk #4: Obrolan Ringan Seputar IT
by LuriDarmawan in Tutorial & Community Project more 4 years ago - PascalTalk #2: Membuat Sendiri SMART HOME
by LuriDarmawan in Tutorial & Community Project more 4 years ago - PascalTalk #3: RADically Fast and Easy Mobile Apps Development with Delphi
by LuriDarmawan in Tutorial & Community Project more 4 years ago - PascalTalk #1: Pemanfaatan Artificial Intelligence di Masa Covid-19
by LuriDarmawan in Tutorial & Community Project more 4 years ago - Tempat Latihan Posting
by LuriDarmawan in OOT more 5 years ago - Archive
- Looping lagi...
by idhiel in Hal umum tentang Pascal Indonesia more 12 years ago - [ask] koneksi ke ODBC user Dsn saat runtime dengan ado
by halimanh in FireBird more 12 years ago - Validasi menggunakan data tanggal
by mas_kofa in Hal umum tentang Pascal Indonesia more 12 years ago