Π’ процСссС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ слоТных ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΉ Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ мноТСство сцСнариСв, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΡ… автоматичСского управлСния ΠΆΠΈΠ·Π½Π΅Π½Π½Ρ‹ΠΌ Ρ†ΠΈΠΊΠ»ΠΎΠΌ интСрфСйсных элСмСнтов. Одним ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ вострСбованных дСйствий являСтся Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Π±Π΅Π· участия ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. Π­Ρ‚ΠΎ трСбуСтся послС ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠ³ΠΎ провСдСния Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°, Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ массового обновлСния ΠΈΠ»ΠΈ ΠΏΡ€ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ спСцифичСской бизнСс-Π»ΠΎΠ³ΠΈΠΊΠΈ, Π³Π΄Π΅ Ρ€ΡƒΡ‡Π½ΠΎΠ΅ Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ "Π—Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ" считаСтся лишним дСйствиСм.

ΠœΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ закрытия Ρ„ΠΎΡ€ΠΌΡ‹ Π½Π΅ Ρ‚Π°ΠΊ прост, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ Π½Π° ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ взгляд, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° прСдоставляСт нСсколько ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΠΌΠ΅Π΅Ρ‚ свои особСнности повСдСния Π² зависимости ΠΎΡ‚ Ρ‚ΠΈΠΏΠ° Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈ контСкста выполнСния. ΠΠ΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ использованиС ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ Ρ„ΠΎΡ€ΠΌΠ° останСтся Π²ΠΈΡΠ΅Ρ‚ΡŒ Π² памяти ΠΈΠ»ΠΈ, Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚, закроСтся Π΄ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Π²Π°ΠΆΠ½Ρ‹Ρ… Ρ„ΠΎΠ½ΠΎΠ²Ρ‹Ρ… процСссов. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½Ρ‹Π΅ особСнности ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ 1Π‘, связанныС с ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΎΠΊΠ½Π°ΠΌΠΈ, ΠΈ прСдоставим Π³ΠΎΡ‚ΠΎΠ²Ρ‹Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ для Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ситуаций.

ПониманиС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠœΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π€ΠΎΡ€ΠΌΡ‹ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ„ΠΎΡ€ΠΌΡ‹, критичСски Π²Π°ΠΆΠ½ΠΎ для создания ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса. ΠœΡ‹ рассмотрим Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ синтаксис, Π½ΠΎ ΠΈ тонкости Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΌΠΎΠ΄Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π½Π΅ΠΌΠΎΠ΄Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΎΠΊΠ½Π°ΠΌΠΈ, Π° Ρ‚Π°ΠΊΠΆΠ΅ особСнности ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ прСрывания Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

Π‘Π°Π·ΠΎΠ²Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ закрытия Ρ„ΠΎΡ€ΠΌΡ‹

Π‘Π°ΠΌΡ‹ΠΌ простым ΠΈ распространСнным способом Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ„ΠΎΡ€ΠΌΠΎΠΉ являСтся Π²Ρ‹Π·ΠΎΠ² встроСнного ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π—Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ(). Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ доступСн Π² контСкстС любой Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠΈΡ€ΡƒΠ΅Ρ‚ стандартный процСсс уничтоТСния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ„ΠΎΡ€ΠΌΡ‹. Однако, Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π²Ρ‹Π·ΠΎΠ² этого ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠΈΠ· Ρ€Π°Π·Π½Ρ‹Ρ… мСст ΠΊΠΎΠ΄Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Ρ€Π°Π·Π½Ρ‹ΠΉ эффСкт Π² зависимости ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, Π³Π΄Π΅ ΠΈΠΌΠ΅Π½Π½ΠΎ выполняСтся ΠΊΠΎΠ΄.

Если Π²Ρ‹ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ΡΡŒ Π²Π½ΡƒΡ‚Ρ€ΠΈ модуля самой Ρ„ΠΎΡ€ΠΌΡ‹, Ρ‚ΠΎ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ происходит Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ. Π’ этом случаС ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ событиС закрытия, освобоТдаСт рСсурсы ΠΈ удаляСт Ρ„ΠΎΡ€ΠΌΡƒ ΠΈΠ· стСка ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… ΠΎΠΊΠΎΠ½. Π­Ρ‚ΠΎ стандартноС ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² 90% случаСв Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

Однако, Ссли ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ производится ΠΈΠ· внСшнСго контСкста, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΈΠ· ΠΎΠ±Ρ‰Π΅Π³ΠΎ модуля ΠΈΠ»ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° события Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ сначала ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ссылку Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ„ΠΎΡ€ΠΌΡ‹. Для этого часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π€ΠΎΡ€ΠΌΡ‹ ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… Ρ„ΠΎΡ€ΠΌ. Π‘Π΅Π· получСния ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠΉ ссылки Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π²Ρ‹Π·ΠΎΠ² ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π±ΡƒΠ΄Π΅Ρ‚ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½.

πŸ’‘

ВсСгда провСряйтС, Π½Π΅ находится Π»ΠΈ Ρ„ΠΎΡ€ΠΌΠ° Π² состоянии оТидания асинхронного запроса ΠΏΠ΅Ρ€Π΅Π΄ Π΅Ρ‘ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ошибок выполнСния.

Π’Π°ΠΆΠ½ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π—Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ() Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², Ссли Π½Π΅ планируСтся Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Ρ„ΠΎΡ€ΠΌΡ‹ Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΌΡƒ ΠΊΠΎΠ΄Ρƒ. Π’ простых сцСнариях, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ справочника послС Π²Ρ‹Π±ΠΎΡ€Π° элСмСнта ΠΈΠ»ΠΈ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ ΠΎΡ‚Ρ‡Π΅Ρ‚Π° послС формирования, этого ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π²ΠΏΠΎΠ»Π½Π΅ достаточно для обСспСчСния ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ прилоТСния.

Π—Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Ρ„ΠΎΡ€ΠΌΡ‹ с Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ΠΎΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°

Часто Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ситуация, ΠΊΠΎΠ³Π΄Π° Ρ„ΠΎΡ€ΠΌΠ° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΠ°ΠΊ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ для Π²Π²ΠΎΠ΄Π° Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ Π²Ρ‹Π±ΠΎΡ€Π° значСния, ΠΈ послС Π΅Ρ‘ закрытия Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Π² Π²Ρ‹Π·Π²Π°Π²ΡˆΠΈΠΉ Π΅Ρ‘ ΠΊΠΎΠ΄. Π’ Ρ‚Π°ΠΊΠΈΡ… случаях ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ пСрСгруТСнная вСрсия ΠΌΠ΅Ρ‚ΠΎΠ΄Π° β€” Π—Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ(Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚). АргумСнт, ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΡ‹ΠΉ Π² этот ΠΌΠ΅Ρ‚ΠΎΠ΄, становится Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ функция ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒΠœΠΎΠ΄Π°Π»ΡŒΠ½ΠΎ() ΠΈΠ»ΠΈ ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒΠœΠΎΠ΄Π°Π»ΡŒΠ½ΠΎ() Π² Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΌ ΠΌΠΎΠ΄ΡƒΠ»Π΅.

Π’ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ³ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° Π½Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ структуру, ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ, ссылку Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ массив Π΄Π°Π½Π½Ρ‹Ρ…. Π­Ρ‚ΠΎ позволяСт Π³ΠΈΠ±ΠΊΠΎ Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ взаимодСйствиС ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ частями ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ. НапримСр, Ρ„ΠΎΡ€ΠΌΠ° ΠΏΠΎΠ΄Π±ΠΎΡ€Π° Ρ‚ΠΎΠ²Π°Ρ€ΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ‚ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ структуру с Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΌΠΈ Π½ΠΎΠΌΠ΅Π½ΠΊΠ»Π°Ρ‚ΡƒΡ€ΠΎΠΉ ΠΈ количСством.

Рассмотрим Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ. Π’ ΠΌΠΎΠ΄ΡƒΠ»Π΅ Ρ„ΠΎΡ€ΠΌΡ‹, ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ "ОК", ΠΌΡ‹ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅ΠΌ структуру с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅ΠΌ Π΅Ρ‘ Π² ΠΌΠ΅Ρ‚ΠΎΠ΄ закрытия. Если ΠΆΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π½Π°ΠΆΠΈΠΌΠ°Π΅Ρ‚ "ΠžΡ‚ΠΌΠ΅Π½Π°", ΠΌΠ΅Ρ‚ΠΎΠ΄ вызываСтся Π±Π΅Π· ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΈΠ»ΠΈ с пустым Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ, Ρ‡Ρ‚ΠΎ сигнализируСт Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΌΡƒ ΠΊΠΎΠ΄Ρƒ ΠΎΠ± ΠΎΡ‚ΠΌΠ΅Π½Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ.

β˜‘οΈ Алгоритм Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ: 0 / 4

Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ссли Ρ„ΠΎΡ€ΠΌΠ° открываСтся Π² нСмодальном Ρ€Π΅ΠΆΠΈΠΌΠ΅, Ρ‚ΠΎ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° Ρ‡Π΅Ρ€Π΅Π· Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π—Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Π½Π΅ сработаСт Π² ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄ Π½Π΅ ΠΆΠ΄Π΅Ρ‚ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Ρ„ΠΎΡ€ΠΌΡ‹. Π’ нСмодальном Ρ€Π΅ΠΆΠΈΠΌΠ΅ для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, события ΠΈΠ»ΠΈ прямоС ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ свойствам Ρ„ΠΎΡ€ΠΌΡ‹.

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΌΠΎΠ΄Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π½Π΅ΠΌΠΎΠ΄Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ„ΠΎΡ€ΠΌΠ°ΠΌΠΈ

Π Π΅ΠΆΠΈΠΌ открытия Ρ„ΠΎΡ€ΠΌΡ‹ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ влияСт Π½Π° Ρ‚ΠΎ, ΠΊΠ°ΠΊ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅. ΠœΠΎΠ΄Π°Π»ΡŒΠ½Ρ‹Π΅ Ρ„ΠΎΡ€ΠΌΡ‹ Π±Π»ΠΎΠΊΠΈΡ€ΡƒΡŽΡ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ с ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹ΠΌ интСрфСйсом прилоТСния Π΄ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° своСго закрытия. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ΄, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π·Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ открытия модальной Ρ„ΠΎΡ€ΠΌΡ‹, Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½, ΠΏΠΎΠΊΠ° Ρ„ΠΎΡ€ΠΌΠ° Π½Π΅ закроСтся. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ Π²Ρ‹Π·ΠΎΠ² ΠΌΠ΅Ρ‚ΠΎΠ΄Π° закрытия Π² этом случаС снимаСт Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΡƒ ΠΈ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ основного ΠΏΠΎΡ‚ΠΎΠΊΠ° ΠΊΠΎΠ΄Π°.

Π‘ Π½Π΅ΠΌΠΎΠ΄Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ„ΠΎΡ€ΠΌΠ°ΠΌΠΈ ситуация обстоит ΠΈΠ½Π°Ρ‡Π΅. Они Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ с основным интСрфСйсом, ΠΈ ΠΈΡ… Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Π½Π΅ влияСт Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΡ… процСссов. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ нСмодальной Ρ„ΠΎΡ€ΠΌΡ‹ просто удаляСт ΠΎΠΊΠ½ΠΎ с экрана, Π½ΠΎ Π½Π΅ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π΅Ρ‚ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… Π΄Ρ€ΡƒΠ³ΠΈΡ… Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΠΈΡ…ΡΡ Π·Π°Π΄Π°Ρ‡. Π­Ρ‚ΠΎ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для ΠΏΠ°Π½Π΅Π»Π΅ΠΉ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° ΠΈΠ»ΠΈ Ρ„ΠΎΡ€ΠΌ ΠΆΡƒΡ€Π½Π°Π»ΠΎΠ² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ².

Π₯арактСристика Модальная Ρ„ΠΎΡ€ΠΌΠ° НСмодальная Ρ„ΠΎΡ€ΠΌΠ°
Π‘Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ° интСрфСйса Π”Π°, полная НСт
Π’ΠΎΠ·Π²Ρ€Π°Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° Π§Π΅Ρ€Π΅Π· Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Волько Ρ‡Π΅Ρ€Π΅Π· события ΠΈΠ»ΠΈ свойства
ΠŸΠΎΡ‚ΠΎΠΊ выполнСния ΠžΠΆΠΈΠ΄Π°Π΅Ρ‚ закрытия ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ‚ΡΡ сразу
ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования Π’Π²ΠΎΠ΄ Π½ΠΎΠ²ΠΎΠ³ΠΎ элСмСнта Π–ΡƒΡ€Π½Π°Π» Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ²

ΠŸΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π²Π°ΠΆΠ½ΠΎ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ ΠΈΠ· Π΅Ρ‘ ΠΆΠ΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° события ΠŸΡ€ΠΈΠ—Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ рСкурсии ΠΈΠ»ΠΈ нСпрСдсказуСмому повСдСнию, Ссли Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ Ρ„Π»Π°Π³ΠΈ для контроля состояния. ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° 1Π‘ ΠΈΠΌΠ΅Π΅Ρ‚ встроСнныС Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΎΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π²ΠΈΠ΄ΠΎΠ² рСкурсивных Π²Ρ‹Π·ΠΎΠ²ΠΎΠ², Π½ΠΎ ΠΏΠΎΠ»Π°Π³Π°Ρ‚ΡŒΡΡ Π½Π° Π½ΠΈΡ… ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Π½Π΅ стоит.

πŸ“Š Какой Ρ€Π΅ΠΆΠΈΠΌ открытия Ρ„ΠΎΡ€ΠΌ Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Ρ‡Π°Ρ‰Π΅?
Волько ΠΌΠΎΠ΄Π°Π»ΡŒΠ½Ρ‹Π΅
Волько Π½Π΅ΠΌΠΎΠ΄Π°Π»ΡŒΠ½Ρ‹Π΅
Π‘ΠΌΠ΅ΡˆΠ°Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌ
Зависит ΠΎΡ‚ Π·Π°Π΄Π°Ρ‡ΠΈ

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΎΡ‚ΠΌΠ΅Π½Ρ‹ закрытия Ρ„ΠΎΡ€ΠΌΡ‹

Одним ΠΈΠ· критичСски Π²Π°ΠΆΠ½Ρ‹Ρ… аспСктов управлСния Ρ„ΠΎΡ€ΠΌΠ°ΠΌΠΈ являСтся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒ процСсс закрытия. Π­Ρ‚ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ссли ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ внСс измСнСния Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚, Π½ΠΎ Π½Π΅ сохранил ΠΈΡ…, ΠΈ систСма Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ ΠΏΠΎΡ‚Π΅Ρ€ΡŽ Π΄Π°Π½Π½Ρ‹Ρ…. Для этих Ρ†Π΅Π»Π΅ΠΉ Π² 1Π‘ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ событиС ΠŸΠ΅Ρ€Π΅Π΄Π—Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ΠΌ ΠΈ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΠžΡ‚ΠΊΠ°Π·.

Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ ΠŸΠ΅Ρ€Π΅Π΄Π—Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ΠΌ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° инициируСтся Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Ρ„ΠΎΡ€ΠΌΡ‹, нСзависимо ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, Π²Ρ‹Π·Π²Π°Π½ΠΎ Π»ΠΈ ΠΎΠ½ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ΠΌ крСстика ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ ΠΈΠ· ΠΊΠΎΠ΄Π°. Π’Π½ΡƒΡ‚Ρ€ΠΈ этого ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ условий. Если условия Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ приостановки закрытия, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΠžΡ‚ΠΊΠ°Π· Π² Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π˜ΡΡ‚ΠΈΠ½Π°.

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Π€ΠΎΡ€ΠΌΠ°_ΠŸΠ΅Ρ€Π΅Π΄Π—Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ΠΌ(ΠžΡ‚ΠΊΠ°Π·)

Если ΠœΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΡΡ‚ΡŒ() Π’ΠΎΠ³Π΄Π°

ΠžΡ‚Π²Π΅Ρ‚ = Вопрос("Π•ΡΡ‚ΡŒ нСсохранСнныС измСнСния. Π—Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ?", РСТимДиалогаВопрос.ДаНСт);

Если ΠžΡ‚Π²Π΅Ρ‚ = ΠšΠΎΠ΄Π’ΠΎΠ·Π²Ρ€Π°Ρ‚Π°Π”ΠΈΠ°Π»ΠΎΠ³Π°.НСт Π’ΠΎΠ³Π΄Π°

ΠžΡ‚ΠΊΠ°Π· = Π˜ΡΡ‚ΠΈΠ½Π°;

ΠšΠΎΠ½Π΅Ρ†Π•ΡΠ»ΠΈ;

ΠšΠΎΠ½Π΅Ρ†Π•ΡΠ»ΠΈ;

ΠšΠΎΠ½Π΅Ρ†ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹

Π’Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Ρ€Π°Π·Π½ΠΈΡ†Ρƒ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΌ Π²Ρ‹Π·ΠΎΠ²ΠΎΠΌ Π—Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ() ΠΈ систСмным Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ΠΌ. Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях, ΠΏΡ€ΠΈ Π°Π²Π°Ρ€ΠΈΠΉΠ½ΠΎΠΌ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ прилоТСния ΠΈΠ»ΠΈ Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠ΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ, событиС ΠŸΠ΅Ρ€Π΅Π΄Π—Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅ ΠΎΡ‚Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ, поэтому ΠΏΠΎΠ»Π°Π³Π°Ρ‚ΡŒΡΡ Π½Π° Π½Π΅Π³ΠΎ ΠΊΠ°ΠΊ Π½Π° СдинствСнный ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ сохранСния Π΄Π°Π½Π½Ρ‹Ρ… Π½Π΅ рСкомСндуСтся. ВсСгда ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ явноС сохранСниС ΠΏΠ΅Ρ€Π΅Π΄ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠΎΠΉ закрытия.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Установка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° ΠžΡ‚ΠΊΠ°Π· Π² Π˜ΡΡ‚ΠΈΠ½Π° ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Ρ„ΠΎΡ€ΠΌΡ‹, Π½ΠΎ Π½Π΅ отмСняСт сам Π²Ρ‹Π·ΠΎΠ² ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π—Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ(). Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ΄, ΠΈΠ½ΠΈΡ†ΠΈΠΈΡ€ΠΎΠ²Π°Π²ΡˆΠΈΠΉ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅, ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅, Π½ΠΎ Ρ„ΠΎΡ€ΠΌΠ° останСтся Π½Π° экранС. Π£Ρ‡ΠΈΡ‚Ρ‹Π²Π°ΠΉΡ‚Π΅ это ΠΏΡ€ΠΈ построСнии Π»ΠΎΠ³ΠΈΠΊΠΈ прилоТСния.

Π—Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Ρ„ΠΎΡ€ΠΌ ΠΈΠ· Π²Π½Π΅ΡˆΠ½ΠΈΡ… ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΈ ΠΎΠ±Ρ‰ΠΈΡ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ

Π‘ΠΈΡ‚ΡƒΠ°Ρ†ΠΈΠΈ, ΠΊΠΎΠ³Π΄Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ ΠΈΠ·Π²Π½Π΅, часто Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ ΠΏΡ€ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ„ΠΎΠ½ΠΎΠ²Ρ‹Ρ… Π·Π°Π΄Π°Π½ΠΈΠΉ, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² событий бизнСс-процСссов ΠΈΠ»ΠΈ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡΠΌΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ. Π’ этом случаС Ρƒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° Π½Π΅Ρ‚ прямого доступа ΠΊ контСксту Ρ„ΠΎΡ€ΠΌΡ‹, ΠΈ трСбуСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ поиска ΠΈ управлСния ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠ΅ΠΉ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… Ρ„ΠΎΡ€ΠΌ.

Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΉ контСкст 1Π‘ прСдоставляСт ΠΌΠ΅Ρ‚ΠΎΠ΄ Π€ΠΎΡ€ΠΌΡ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ всСх ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… Π² Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Ρ„ΠΎΡ€ΠΌ. ΠŸΠ΅Ρ€Π΅Π±ΠΈΡ€Π°Ρ эту ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ, ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π½ΡƒΠΆΠ½ΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ, Ρ‚ΠΈΠΏΡƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΠ°ΠΌ ΠΈ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Ρƒ Π½Π΅Ρ‘ ΠΌΠ΅Ρ‚ΠΎΠ΄ закрытия. Π­Ρ‚ΠΎ ΠΌΠΎΡ‰Π½Ρ‹ΠΉ инструмСнт, Π½ΠΎ ΠΎΠ½ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ остороТности.

  • πŸ” Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΠΉΡ‚Π΅ Ρ„ΠΎΡ€ΠΌΡƒ ΠΏΠΎ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠΌΡƒ ΠΈΠΌΠ΅Π½ΠΈ ΠΈΠ»ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρƒ открытия.
  • πŸ›‘οΈ ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠΉΡ‚Π΅ Ρ‚ΠΈΠΏ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΏΠ΅Ρ€Π΅Π΄ Π²Ρ‹Π·ΠΎΠ²ΠΎΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ошибок.
  • πŸ”„ Π£Ρ‡ΠΈΡ‚Ρ‹Π²Π°ΠΉΡ‚Π΅, Ρ‡Ρ‚ΠΎ Ρ„ΠΎΡ€ΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΡƒΠΆΠ΅ Π·Π°ΠΊΡ€Ρ‹Ρ‚Π° Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ обращСния ΠΊ Π½Π΅ΠΉ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π° для закрытия всСх ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… Ρ„ΠΎΡ€ΠΌ ΠΆΡƒΡ€Π½Π°Π»Π° Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ²:

Для КаТдого Π€ΠΎΡ€ΠΌΠ°ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Из Π€ΠΎΡ€ΠΌΡ‹ Π¦ΠΈΠΊΠ»

Если Π€ΠΎΡ€ΠΌΠ°ΠžΠ±ΡŠΠ΅ΠΊΡ‚.Π˜ΠΌΡΠ€ΠΎΡ€ΠΌΡ‹ = "Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚.РСализацияВоваровУслуг.Π€ΠΎΡ€ΠΌΠ°.Бписок" Π’ΠΎΠ³Π΄Π°

Π€ΠΎΡ€ΠΌΠ°ΠžΠ±ΡŠΠ΅ΠΊΡ‚.Π—Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ();

ΠšΠΎΠ½Π΅Ρ†Π•ΡΠ»ΠΈ;

ΠšΠΎΠ½Π΅Ρ†Π¦ΠΈΠΊΠ»Π°;

ΠŸΡ€ΠΈ использовании Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ ΠΎ ΠΏΡ€Π°Π²Π°Ρ… доступа. Если ΠΊΠΎΠ΄ выполняСтся Π² Ρ„ΠΎΠ½Π΅ ΠΈΠ»ΠΈ ΠΎΡ‚ ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ с ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹ΠΌΠΈ ΠΏΡ€Π°Π²Π°ΠΌΠΈ, ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° доступа ΠΊ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ Ρ„ΠΎΡ€ΠΌ ΠΈΠ»ΠΈ закрытия Ρ‡ΡƒΠΆΠΎΠΉ Ρ„ΠΎΡ€ΠΌΡ‹ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π°Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Π½Π° систСмой бСзопасности ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹.

Вонкости Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡΠΌΠΈ

ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ Π² Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡΡ… ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ доступ ΠΊ Ρ„ΠΎΡ€ΠΌΠ°ΠΌ основной ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ события Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ для внСдрСния Π»ΠΎΠ³ΠΈΠΊΠΈ закрытия нСпосрСдствСнно Π² ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Ρ„ΠΎΡ€ΠΌΡ‹.

АсинхронноС Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ ΠΈ Ρ€Π°Π±ΠΎΡ‚Π° с оТиданиями

Π’ соврСмСнных вСрсиях ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ 8.3 всС большСС распространСниС ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽΡ‚ асинхронныС Π²Ρ‹Π·ΠΎΠ²Ρ‹ ΠΈ Ρ€Π°Π±ΠΎΡ‚Π° с оТиданиями. ΠŸΡ€ΠΈ использовании конструкции ОТиданиС ΠΈΠ»ΠΈ ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… HTTP-запросов Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ„ΠΎΡ€ΠΌΡ‹, ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΡŽ этих процСссов. ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° стараСтся Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡŒ Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Π΅ оТидания ΠΏΠ΅Ρ€Π΅Π΄ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ΠΌ, Π½ΠΎ это ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π½Π΅ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ Π²ΠΎ всСх сцСнариях.

Если Ρ„ΠΎΡ€ΠΌΠ° выполняСт Ρ„ΠΎΠ½ΠΎΠ²ΡƒΡŽ Π·Π°Π΄Π°Ρ‡Ρƒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· внСшнСго источника, ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΈΠ»ΠΈ систСма ΠΈΠ½ΠΈΡ†ΠΈΠΈΡ€ΡƒΡŽΡ‚ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅. РСкомСндуСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π»Π°Π³ΠΈ состояния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡŽΡ‚ΡΡ Π² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°Ρ… событий Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ асинхронных ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ.

Π’ случаС, Ссли Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Ρ„ΠΎΡ€ΠΌΡ‹ происходит Π²ΠΎ врСмя выполнСния запроса ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…, транзакция ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚ΠΊΠ°Ρ‚Π°Π½Π°. Π­Ρ‚ΠΎ стандартноС ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π‘Π£Π‘Π”, Π½ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Π³ΠΎΡ‚ΠΎΠ² ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ Π΄Π°Π½Π½Ρ‹Π΅ Π½Π΅ сохранятся. ВсСгда явно фиксируйтС измСнСния ΠΏΠ΅Ρ€Π΅Π΄ запуском Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€Π΅Ρ€Π²Π°Π½Ρ‹ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ΠΌ ΠΎΠΊΠ½Π°.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Ρ„ΠΎΡ€ΠΌΡ‹ Π²ΠΎ врСмя выполнСния Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ°ΠΌ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…. Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ всС Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½Ρ‹ (Π—Π°Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ»ΠΈ ΠžΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒ) ΠΏΠ΅Ρ€Π΅Π΄ Π²Ρ‹Π·ΠΎΠ²ΠΎΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π—Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ().

Для управлСния слоТными сцСнариями закрытия с оТиданиями ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΡƒΡŽ структуру управлСния состояниСм Ρ„ΠΎΡ€ΠΌΡ‹. Π­Ρ‚ΠΎ позволяСт ΠΎΡ‚Π»ΠΎΠΆΠΈΡ‚ΡŒ фактичСскоС Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Π΄ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ всСх Ρ„ΠΎΠ½ΠΎΠ²Ρ‹Ρ… процСссов.

πŸ’‘

БСзопасноС Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Ρ„ΠΎΡ€ΠΌΡ‹ с Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌΠΈ процСссами Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ явного контроля состояния всСх Ρ„ΠΎΠ½ΠΎΠ²Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡ ΠΈ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ ΠΏΠ΅Ρ€Π΅Π΄ Π²Ρ‹Π·ΠΎΠ²ΠΎΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° уничтоТСния Ρ„ΠΎΡ€ΠΌΡ‹.

ЧастыС ошибки ΠΈ способы ΠΈΡ… устранСния

НСсмотря Π½Π° ΠΊΠ°ΠΆΡƒΡ‰ΡƒΡŽΡΡ простоту, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ часто ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°ΡŽΡ‚ΡΡ с Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹ΠΌΠΈ ошибками ΠΏΡ€ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π»ΠΎΠ³ΠΈΠΊΠΈ закрытия Ρ„ΠΎΡ€ΠΌ. Одной ΠΈΠ· самых распространСнных являСтся ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ, которая ΡƒΠΆΠ΅ находится Π² процСссС закрытия. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ выполнСния, особСнно Π² слоТных Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ°Ρ… событий.

Другая частая ошибка связана с ΠΏΡƒΡ‚Π°Π½ΠΈΡ†Π΅ΠΉ ΠΌΠ΅ΠΆΠ΄Ρƒ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ΠΌ Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ΠΌ прилоТСния. Π’Ρ‹Π·ΠΎΠ² ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π—Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡŒΠ Π°Π±ΠΎΡ‚ΡƒΠ‘ΠΈΡΡ‚Π΅ΠΌΡ‹() ΠΈΠ· Ρ„ΠΎΡ€ΠΌΡ‹ Π·Π°ΠΊΡ€ΠΎΠ΅Ρ‚ всё ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ 1Π‘, Π° Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ ΠΎΠΊΠ½ΠΎ. Π­Ρ‚ΠΎ грубая ошибка, которая ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ ΠΏΠΎΡ‚Π΅Ρ€Π΅ Π΄Π°Π½Π½Ρ‹Ρ… Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… ΠΎΠΊΠ½Π°Ρ….

  • ❌ НС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π—Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡŒΠ Π°Π±ΠΎΡ‚ΡƒΠ‘ΠΈΡΡ‚Π΅ΠΌΡ‹() вмСсто Π—Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ().
  • ❌ НС Π²Ρ‹Π·Ρ‹Π²Π°ΠΉΡ‚Π΅ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Π² Ρ†ΠΈΠΊΠ»Π΅ Π±Π΅Π· ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ сущСствования Ρ„ΠΎΡ€ΠΌΡ‹.
  • ❌ НС ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΠžΡ‚ΠΊΠ°Π· Π² событии ΠŸΠ΅Ρ€Π΅Π΄Π—Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ΠΌ.

Π’Π°ΠΊΠΆΠ΅ стоит ΡƒΠΏΠΎΠΌΡΠ½ΡƒΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ "ΠΏΡ€ΠΈΠ·Ρ€Π°Ρ‡Π½Ρ‹Ρ…" Ρ„ΠΎΡ€ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎ Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹, Π½ΠΎ ΠΎΡΡ‚Π°ΡŽΡ‚ΡΡ Π² памяти. Π­Ρ‚ΠΎ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ связано с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Π½Π° Ρ„ΠΎΡ€ΠΌΡƒ ΠΎΡΡ‚Π°ΡŽΡ‚ΡΡ ссылки Π² Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ массивах. Π‘Π±ΠΎΡ€Ρ‰ΠΈΠΊ мусора 1Π‘ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΏΠ°ΠΌΡΡ‚ΡŒ, ΠΏΠΎΠΊΠ° сущСствуСт хотя Π±Ρ‹ ΠΎΠ΄Π½Π° активная ссылка Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ„ΠΎΡ€ΠΌΡ‹.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ„ΠΎΡ€ΠΌΠ°ΠΌΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π½Π΅Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ Π² зависимости ΠΎΡ‚ вСрсии ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ 1Π‘ ΠΈ Ρ€Π΅ΠΆΠΈΠΌΠ° совмСстимости ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ. ВсСгда тСстируйтС сцСнарии закрытия Π½Π° Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ вСрсии ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ Ρƒ Π·Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊΠ°.

Для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ с Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ΠΌ Ρ„ΠΎΡ€ΠΌ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ тСхнологичСский ΠΆΡƒΡ€Π½Π°Π» 1Π‘. Он позволяСт ΠΎΡ‚ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρ‹ создания ΠΈ уничтоТСния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Ρ„ΠΎΡ€ΠΌ, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π²Ρ‹ΡΠ²ΠΈΡ‚ΡŒ ΡƒΡ‚Π΅Ρ‡ΠΊΠΈ памяти ΠΈΠ»ΠΈ зависания процСссов.

FAQ: Часто Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡ‹Π΅ вопросы

Как Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ, Ссли ΠΊΠΎΠ΄ выполняСтся Π² ΠΎΠ±Ρ‰Π΅ΠΌ ΠΌΠΎΠ΄ΡƒΠ»Π΅?

НСобходимо ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ссылку Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ„ΠΎΡ€ΠΌΡ‹ Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ Π€ΠΎΡ€ΠΌΡ‹. ΠŸΠ΅Ρ€Π΅Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ, Π½Π°ΠΉΠ΄ΠΈΡ‚Π΅ Ρ„ΠΎΡ€ΠΌΡƒ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ ΠΈΠ»ΠΈ Ρ‚ΠΈΠΏΡƒ, ΠΈ Π²Ρ‹Π·Π²ΠΈΡ‚Π΅ Ρƒ Π½Π°ΠΉΠ΄Π΅Π½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΌΠ΅Ρ‚ΠΎΠ΄ Π—Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ(). ΠŸΡ€ΠΈΠΌΠ΅Ρ€: Π€ΠΎΡ€ΠΌΡ‹.ΠΠ°ΠΉΡ‚ΠΈΠŸΠΎΠ˜ΠΌΠ΅Π½ΠΈ("Π˜ΠΌΡΠ€ΠΎΡ€ΠΌΡ‹").Π—Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ().

МоТно Π»ΠΈ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Π±Π΅Π· подтвСрТдСния ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ, Ссли Π΅ΡΡ‚ΡŒ измСнСния?

Π”Π°, Ссли Π²Ρ‹ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π—Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ() ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ, событиС ΠŸΠ΅Ρ€Π΅Π΄Π—Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ΠΌ ΠΎΡ‚Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, Π½ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ ΠžΡ‚ΠΊΠ°Π·. Однако, стандартный ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ опроса ΠΎ сохранСнии Π΄Π°Π½Π½Ρ‹Ρ… сработаСт автоматичСски. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ вопроса, Π½ΡƒΠΆΠ½ΠΎ явно ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΈΠ»ΠΈ ΠΎΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒ измСнСния ΠΏΠ΅Ρ€Π΅Π΄ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ΠΌ.

Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ, Ссли Ρ„ΠΎΡ€ΠΌΠ° Π½Π΅ закрываСтся послС Π²Ρ‹Π·ΠΎΠ²Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Π°?

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅, Π½Π΅ установлСн Π»ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΠžΡ‚ΠΊΠ°Π· Π² Π˜ΡΡ‚ΠΈΠ½Π° Π² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ΅ ΠŸΠ΅Ρ€Π΅Π΄Π—Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ΠΌ. Π’Π°ΠΊΠΆΠ΅ ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Ρ„ΠΎΡ€ΠΌΠ° Π½Π΅ Π·Π°Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Π½Π° ΠΌΠΎΠ΄Π°Π»ΡŒΠ½Ρ‹ΠΌ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠΌ ΠΈΠ»ΠΈ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ΠΌ. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ ΠΆΡƒΡ€Π½Π°Π» рСгистрации Π½Π° Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ошибок выполнСния.

Как Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ всС ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Π΅ Ρ„ΠΎΡ€ΠΌΡ‹ ΠΎΠ΄Π½ΠΈΠΌ дСйствиСм?

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ†ΠΈΠΊΠ» ΠΏΠΎ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ Π€ΠΎΡ€ΠΌΡ‹. Π’Π½ΡƒΡ‚Ρ€ΠΈ Ρ†ΠΈΠΊΠ»Π° Π²Ρ‹Π·Ρ‹Π²Π°ΠΉΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π—Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ() для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта. Π‘ΡƒΠ΄ΡŒΡ‚Π΅ остороТны, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ Π²ΠΎ врСмя ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ошибки; Π»ΡƒΡ‡ΡˆΠ΅ сначала ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ ссылки Π² массив, Π° Π·Π°Ρ‚Π΅ΠΌ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΈΡ….

ВлияСт Π»ΠΈ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Ρ„ΠΎΡ€ΠΌΡ‹ Π½Π° ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°?

НСт, Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Ρ„ΠΎΡ€ΠΌΡ‹ само ΠΏΠΎ сСбС Π½Π΅ влияСт Π½Π° состояниС ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°. Однако, Ссли Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Ρ„ΠΎΡ€ΠΌΡ‹ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π΅Ρ‚ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΡŽ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ проводился Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚, Ρ‚ΠΎ ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚ΠΌΠ΅Π½Π΅Π½ΠΎ. ВсСгда Π·Π°Π²Π΅Ρ€ΡˆΠ°ΠΉΡ‚Π΅ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ Π΄ΠΎ закрытия Ρ„ΠΎΡ€ΠΌΡ‹.