Утечки памяти в WPF/C#

Вы должны добавить экземпляр подкласса UITableViewController в качестве дочернего контроллера представления другого контроллера представления. Вы должны обеспечить несколько очков, чтобы заставить его работать. Точки перечислены ниже:

  1. Создайте экземпляр вашего TableViewController
  2. Добавьте его как дочерний контроллер представления другого контроллера представления
  3. Добавьте его рассматривать как подпредставление желаемого вида (вы можете сделать эти шаги в viewDidLaod, так как они должны быть выполнены только один раз)
  4. Имея в виду цикл просмотра контроллера представления. Вы должны хранить слабую ссылку на дочерний контроллер представления, иначе TableViewController, чтобы настроить его рамку просмотра после того, как родительский контроллер представления заложил свои подпредставления.

Код здесь:

override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.
    let vc = TableViewController()
    addChildViewController(vc)
    view.addSubview(vc.view)
    vc.didMove(toParentViewController: self)
    childVC = vc
}

override func viewDidLayoutSubviews() {
    super.viewDidLayoutSubviews()

    childVC?.view.frame = view.frame
}
6
задан eddie 25 January 2017 в 20:46
поделиться

1 ответ

Который является определением переменной, которая содержит изображение в Вас ClassX??? Проблема может быть в том, что Вы создаете новый ClassX, и старый является не быть удаленным GC, заставляющим голову иметь два других экземпляра ClassX.

Так как Вы используете код unmanged (CreateBitmapSourceFromHBitmap), необходимо проверить, называют ли весь завершить метод правильно (хотя близко или располагают, вероятно), и что никаких статических ссылок, которые могут указывать ClassX.

Помните, что, если Вы ClassX не удалены, Растровый экземпляр будет достижим в графике, сделанном GC, делающим его для не удаления его из "кучи".

Я, которого recommned, использующие perfmon и, добавляют объект памяти .NET видеть, существует ли какой-либо объект, который выжил, завершаю или закрепленный объект, это - тот, который Вам, вероятно, интересно относительно утечки памяти.

Я надеюсь, что это помогает :P, но будет более хорошо при помещении кода ClassX.

1
ответ дан 17 December 2019 в 22:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: