Deprecations
با هر بار انتشار، ممکن است API های خاص Android منسوخ شوند یا برای توسعه یا پشتیبانی بهتراز قابلیت های پلتفرم جدید، نیاز به اصلاح مجدد داشته باشند. در این موارد، Android رسما ا API ها قبلی را منسوخ کرده و توسعه دهندگان را به سمت API های جدید هدایت می کند تا از آنها استفاده کنند.
Deprecation به این معنی است که پشتیبانی رسمی از API ها به پایان رسیده است، اما آنها همچنان در دسترس توسعه دهندگان هستند. در این صفحه برخی از Deprecationها برجسته این نسخه از Android را بیان می کند.
RenderScript
با شروع Android 12 ، API های RenderScript منسوخ خواهند شد. آنها به کار خود ادامه خواهند داد، اما ما انتظار داریم که سازندگان دستگاه و قطعات با گذشت زمان ارائه پشتیبانی شتاب سخت افزاری را متوقف کنند. برای استفاده کامل از شتاب GPU ، توصیه می کنیم از RenderScript دور شوید.
Android playlists
لیست های پخش آندروید منسوخ شده است. API دیگر حفظ نمی شود اما قابلیت فعلی برای سازگاری باقی مانده است.توصیه می کنیم لیست های پخش را به عنوان پرونده های m3u استفاده و ذخیره کنید.
Display API deprecations
دستگاه های Android در برنامه های مختلفی از جمله صفحه نمایش های بزرگ، تبلت ها و تاشوها در دسترس هستند. برای ارائه محتوای مناسب برای هر دستگاه، برنامه شما باید اندازه صفحه یا سایزمورد نیازبرنامه را مشخص کند. با گذشت زمان، Android API های مختلفی را برای بازیابی این اطلاعات ارائه داد. در اندروید 11 WindowMetrics API را معرفی می کنیم و چرا که روش های زیر منسوخ شده اند:
- Display.getSize ()
- Display.getMetrics ()
در آندروید 12 نیز همچنان توصیه می شود از WindowMetrics استفاده کنید و چرا که روش ها زیر نامناسب هستند:
- Display.getRealSize ()
- Display.getRealMetrics ()
برنامه ها باید از Windows WindowMetrics API برای پرسش بسته شدن پنجره خود یا از Configuration.densityDpi برای پرس و جو از تراکم جریان استفاده کنند.
توجه داشته باشید که کتابخانه Jetpack WindowManager شامل یک کلاس WindowMetrics است که از Android 4.0.1 (API level 14) و بالاتر پشتیبانی می کند.
مثال ها
در اینجا چند نمونه از نحوه استفاده از WindowMetrics آورده شده است.
ابتدا مطمئن شوید که برنامه شما می تواند فعالیتهای خود را fully resizable کند.
یک فعالیت برای هر کار مربوط به UI-related، به ویژه WindowManager.getCurrentWindowMetrics() ، باید از یک زمینه فعالیت به WindowMetrics متکی باشد.
اگر برنامه شما MediaProjection را ایجاد می کند، باید اندازه ها را به درستی قراردهید زیرا پروژکتور نمایشگر را ضبط می کند. اگر برنامه کاملاً قابل تغییر اندازه باشد، زمینه فعالیت مرزهای صحیح را برمی گرداند.
WindowMetrics projectionMetrics = activityContext .getSystemService(WindowManager.class).getMaximumWindowMetrics();
اگر برنامه به طور کامل قابل تغییر اندازه نیست، باید محدوده ها را از یک نمونه WindowContext جستجو کنید و WindowMetrics حداکثر صفحه نمایش موجود برای برنامه را با استفاده از WindowManager.getMaximumWindowMetrics() بازیابی کند.
Context windowContext = mContext.createWindowContext(mContext.getDisplay(), TYPE_APPLICATION, null /* options */); WindowMetrics projectionMetrics = windowContext.getWindowManager() .getMaximumWindowMetrics();
توجه: هر کتابخانه ای که از MediaProjection استفاده می کند باید به این توصیه نیز عمل کند و از WindowMetrics مناسب برای پنجره برنامه جستجو کند.