Sobes.tech
Junior — Middle

შეგიძლიათ ისაუბროთ თქვენს ბოლო პროექტში შეხვედრილი რთული სიტუაციებისა და როგორ გადაჭრათ ისინი?

sobes.tech AI

პასუხი AI-სგან

Վերջին նախագծերից մեկում առաջացավ հիշողության արտահոսքի իրավիճակ, որը պայմանավորված էր ռեսուրսների սխալ կառավարմամբ բազմատող ծրագրում: Խնդիրը հայտնվում էր այն ժամանակ, երբ օբյեկտները չազատագրվում էին, և ծրագիրը աստիճանաբար դանդաղում էր:

Որպես լուծում, օգտագործեցի հիշողության պրոֆիլավորիչ՝ պարզելու համար, թե որ օբյեկտները մնում են հիշողության մեջ ավելի երկար, քան պետք է: Հայտնվեց, որ թելերը ճիշտ չեն փակվում, և օբյեկտների հղումները պահվում են ստատիկ հավաքածուներում:

Ես վերանայեցի թելերի կառավարման տրամաբանությունը, ավելացրի հստակ ռեսուրսների փակումը և անհրաժեշտության դեպքում օգտագործեցի թույլ հղումներ (WeakReference): Դրանից հետո կատարողականությունը կայունացավ, և հիշողության արտահոսքը վերացավ։