Skocz do zawartości
Masz już aplikację Sharegon?

Odkryj wszystkie możliwości. Dowiedz się więcej

Sharegon.pl

Zainstaluj aplikację Sharegon i korzystaj z powiadomień push oraz licznika nowych aktywności bezpośrednio z ekranu głównego.

Aby zainstalować tę aplikację na iOS i iPadOS.
  1. Tap the Share icon in Safari
  2. Przewiń menu i stuknij Dodaj do ekranu początkowego.
  3. Stuknij Dodaj w prawym górnym rogu.
Zainstaluj aplikację Sharegon na Androidzie
  1. Otwórz Sklep Google Play na swoim smarfonie.
  2. Wyszukaj „Sharegon” w pasku wyszukiwania.
  3. Stuknij „Zainstaluj”, aby pobrać aplikację.

Naprawa wycieku pamięci w systemie magazynu: funkcja 'ChangeSize'

Featured Replies

Opublikowano

image.png.d7f22788728caf3886ccc11653d89e13.png

 

Cześć Wszystkim,

 

Chciałbym przedstawić problem wycieku pamięci w systemie magazynu. Rzućmy okiem na funkcję z której pochodzi ten problem:

🔐 Ukryta Treść 🔐

 

Omówienie problemu:

Funkcja zmienia rozmiar magazynu 'm_pkGrid'. Kiedy przypisuje nowy obiekt 'CGrid' do 'm_pkGrid', nie zwalnia wcześniej starego obiektu 'CGrid'.

W wyniku tego stary obiekt 'CGrid' pozostaje w pamięci, mimo że nie jest już używany przez game. Powoduje to właśnie wyciek pamięci. 

 

Rozwiązanie:

Zamiast bezpośredniego tworzenia nowego obiektu, najpierw zwolnimy starą pamięć.

Użyjemy tutaj inteligentnych wskaźników (smart pointers), które automatycznie zarządzają pamięcią i zapobiegają tego typu problemom.

 

 

Zachęcam do dyskusji na temat tego rozwiązania i wszelkich innych sugestii, które mogą pomóc w usprawnieniu.

 

Implementacja:

📂 Lokalizacja pliku: 'game -> safebox.cpp'

 

🔍 Szukaj

🔐 Ukryta Treść 🔐

 

🔐 Ukryta Treść 🔐

 

♻️ Zamień

🔐 Ukryta Treść 🔐

 

🔍 Szukaj

🔐 Ukryta Treść 🔐

 

Usuń:

🔐 Ukryta Treść 🔐

 

 🔍 Szukaj

🔐 Ukryta Treść 🔐

 

 ♻️ Zamień

🔐 Ukryta Treść 🔐

 

 

 📂 Lokalizacja pliku: 'game -> safebox.h'

 

Usuń:

🔐 Ukryta Treść 🔐

 

Dodaj:

🔐 Ukryta Treść 🔐

 

 

 📂 Lokalizacja pliku: 'db-> ClientManager.cpp'

 

  🔍 Szukaj

🔐 Ukryta Treść 🔐

 

Dodaj:

🔐 Ukryta Treść 🔐

 

   🔍 Szukaj

🔐 Ukryta Treść 🔐

 

  ♻️ Zamień

🔐 Ukryta Treść 🔐

 

   🔍 Szukaj

🔐 Ukryta Treść 🔐

 

   ♻️ Zamień

🔐 Ukryta Treść 🔐

 

    🔍 Szukaj

🔐 Ukryta Treść 🔐

 

    ♻️ Zamień

🔐 Ukryta Treść 🔐
  • 2 miesiące temu...
  • 1 miesiąc temu...
  • 2 tygodnie później...

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

Skonfiguruj powiadomienia push w przeglądarce.

Chrome (Android)
  1. Stuknij ikonę kłódki obok paska adresu.
  2. Wybierz Uprawnienia → Powiadomienia.
  3. Dostosuj swoje preferencje.
Chrome (Desktop)
  1. Kliknij ikonę kłódki na pasku adresu.
  2. Wybierz Ustawienia witryny.
  3. Znajdź Powiadomienia i dostosuj swoje preferencje.