نمایش نتایج 1 تا 3 از 3

نام تاپیک: آموزش:کم کردن حجم برنامه در رم و آزاد کردن رم

  1. #1

    آموزش:کم کردن حجم برنامه در رم و آزاد کردن رم

    با اين کلاس ميتونين کنترل ها و يا فرم يا ... که در رم موندن رو از حافظه خالی کنين


    Public Class Mem
    ' Methods
    Public Shared Sub FlushMemory()
    GC.Collect()
    GC.WaitForPendingFinalizers()
    If (Environment.OSVersion.Platform = PlatformID.Win32NT) Then
    Mem.SetProcessWorkingSetSize(Process.GetCurrentPro cess.Handle, &H1E8480, &H1E8480)
    End If
    End Sub

    <DllImport("kernel32.dll")> _
    Private Shared Function SetProcessWorkingSetSize(ByVal process As IntPtr, ByVal minimumWorkingSetSize As Integer, ByVal maximumWorkingSetSize As Integer) As Integer
    End Function

    End Class

  2. #2

    نقل قول: آموزش:کم کردن حجم برنامه در رم و آزاد کردن رم

    من یک برنامه رو که فرم اصلی حدودا 22 مگ اجرا می شه بعد با باز و بسته کردن چند فرم و انجام کارهام حجمش به 42 مگ می رسه که اگه دستور GC.Collect اجرا کنم به 30 مگ می رسه ولی با کد بالا به 5 مگ رسید.
    کدی که نوشته خیلی عالی بود ولی یکم در موردش توضیح بدین.
    قسمت اولش رو هر کسی که در مورد زباله روب دات نت تحقیق کرده باشه می شناسه ، خوبه ولی چنگ به دل نمی زنه.
    GC.Collect()
    GC.WaitForPendingFinalizers()

    ولی تابعی که از کتابخانه kernel32 استفاده می کنه یک کاری شبیه معجزه انجام می ده ولی این که چکار می کنه که حجم برنامه رو زیر 5 مگ می بره باید توضیح بدین شاید معایبی داره که ما از اون بی خبریم !

  3. #3
    VIP
    تاریخ عضویت
    اردیبهشت 1403
    محل زندگی
    www
    سن
    40
    پست
    1,247

    نقل قول: آموزش:کم کردن حجم برنامه در رم و آزاد کردن رم


قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •