Junior — Middle
შეგიძლიათ ისაუბროთ თქვენს ბოლო პროექტში შეხვედრილი რთული სიტუაციებისა და როგორ გადაჭრათ ისინი?
sobes.tech AI
პასუხი AI-სგან
Վերջին նախագծերից մեկում առաջացավ հիշողության արտահոսքի իրավիճակ, որը պայմանավորված էր ռեսուրսների սխալ կառավարմամբ բազմատող ծրագրում: Խնդիրը հայտնվում էր այն ժամանակ, երբ օբյեկտները չազատագրվում էին, և ծրագիրը աստիճանաբար դանդաղում էր:
Որպես լուծում, օգտագործեցի հիշողության պրոֆիլավորիչ՝ պարզելու համար, թե որ օբյեկտները մնում են հիշողության մեջ ավելի երկար, քան պետք է: Հայտնվեց, որ թելերը ճիշտ չեն փակվում, և օբյեկտների հղումները պահվում են ստատիկ հավաքածուներում:
Ես վերանայեցի թելերի կառավարման տրամաբանությունը, ավելացրի հստակ ռեսուրսների փակումը և անհրաժեշտության դեպքում օգտագործեցի թույլ հղումներ (WeakReference): Դրանից հետո կատարողականությունը կայունացավ, և հիշողության արտահոսքը վերացավ։