优化释放视图进而优化内存

This commit is contained in:
bluesea 2024-04-26 15:15:52 +08:00
parent 606dc13535
commit 4ff548f2f6
2 changed files with 56 additions and 42 deletions

View File

@ -58,6 +58,8 @@ class CCHomeController: BaseController, LLCycleScrollViewDelegate,MFMailComposeV
return view return view
}() }()
//vr
var shouldShowAlbumFilterPopView = false
override func viewWillAppear(_ animated: Bool) { override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated) super.viewWillAppear(animated)
self.navigationController?.tabBarController!.tabBar.isHidden = true; self.navigationController?.tabBarController!.tabBar.isHidden = true;
@ -65,6 +67,11 @@ class CCHomeController: BaseController, LLCycleScrollViewDelegate,MFMailComposeV
self.setNavgationBarColor(color: UIColor.clear) self.setNavgationBarColor(color: UIColor.clear)
self.checkAirPlayStatus() self.checkAirPlayStatus()
if shouldShowAlbumFilterPopView {
showAlbumFilterPopView()
shouldShowAlbumFilterPopView = false
}
} }
@ -350,45 +357,47 @@ class CCHomeController: BaseController, LLCycleScrollViewDelegate,MFMailComposeV
}else if sender.tag == 22 { }else if sender.tag == 22 {
//VR //VR
showAlbumFilterPopView()
let view = CCSpaceAlbumFilterPopView2.init(frame: CGRectMake(0, 0, KScreenWidth, KScreenHeight))
self.view.addSubview(view)
view.show()
//
view.selectedImageHandler = { [weak self] data,asset in
print("回调")
let vc = CCSpatialPhotoDisplayController()
vc.photoOriginalData = data
vc.imageAsset = asset
self?.navigationController?.pushViewController(vc, animated: true)
}
//
view.selectedVideoHandler = {[weak self] url,asset in
if (asset.duration > 60 ) {
if !UserInfo.sharedInstance.isMemberShip {
let vc:MembershipVC = MembershipVC()
let nav = UINavigationController(rootViewController: vc)
nav.modalTransitionStyle = UIModalTransitionStyle.coverVertical
nav.modalPresentationStyle = .fullScreen
self?.present(nav, animated: true)
return
}
}
let vc = CCSpatialVideoDisplayController()
vc.sourceVideoURL = url
vc.videoOriginalPHAsset = asset
self?.navigationController?.pushViewController(vc, animated: true)
}
} }
} }
//vr
func showAlbumFilterPopView() {
let view = CCSpaceAlbumFilterPopView2.init(frame: CGRectMake(0, 0, KScreenWidth, KScreenHeight))
self.view.addSubview(view)
view.show()
//
view.selectedImageHandler = { [weak self] data,asset in
print("回调")
self?.shouldShowAlbumFilterPopView = true
let vc = CCSpatialPhotoDisplayController()
vc.photoOriginalData = data
vc.imageAsset = asset
self?.navigationController?.pushViewController(vc, animated: true)
}
//
view.selectedVideoHandler = {[weak self] url,asset in
if (asset.duration > 60 ) {
if !UserInfo.sharedInstance.isMemberShip {
let vc:MembershipVC = MembershipVC()
let nav = UINavigationController(rootViewController: vc)
nav.modalTransitionStyle = UIModalTransitionStyle.coverVertical
nav.modalPresentationStyle = .fullScreen
self?.present(nav, animated: true)
self?.shouldShowAlbumFilterPopView = true
return
}
}
let vc = CCSpatialVideoDisplayController()
vc.sourceVideoURL = url
vc.videoOriginalPHAsset = asset
self?.navigationController?.pushViewController(vc, animated: true)
self?.shouldShowAlbumFilterPopView = true
}
}
func addMenu(){ func addMenu(){

View File

@ -210,6 +210,7 @@ class CCSpaceAlbumFilterPopView2: UIView {
//MARK: - //MARK: -
deinit { deinit {
print("ccspacealbumfilterpopview2....deinit....")
NotificationCenter.default.removeObserver(self) NotificationCenter.default.removeObserver(self)
} }
@ -493,30 +494,34 @@ extension CCSpaceAlbumFilterPopView2:UICollectionViewDataSource, UICollectionVie
// //
if Thread.isMainThread { if Thread.isMainThread {
// self.hide() //
if let imageData = imageData { if let imageData = imageData {
self.selectedImageHandler?(imageData,asset) self.selectedImageHandler?(imageData,asset)
} }
self.hide()
}else{ }else{
DispatchQueue.main.async { DispatchQueue.main.async {
// self.hide() //
if let imageData = imageData { if let imageData = imageData {
self.selectedImageHandler?(imageData,asset) self.selectedImageHandler?(imageData,asset)
} }
self.hide()
} }
} }
}else if asset.mediaType == .video { }else if asset.mediaType == .video {
//video //video
self.getVideoURL(from: asset) { url,avasset in self.getVideoURL(from: asset) {[weak self] url,avasset in
if Thread.isMainThread { if Thread.isMainThread {
// self.hide() //
self.selectedVideoHandler?(url,asset) self?.selectedVideoHandler?(url,asset)
self?.hide()
}else{ }else{
DispatchQueue.main.async { DispatchQueue.main.async {
// self.hide() //
self.selectedVideoHandler?(url,asset) self?.selectedVideoHandler?(url,asset)
self?.hide()
} }
} }
} }