Author Archives:

Chrome for Android Update

  Hello Everyone! We've just released Chrome 152 (152.0.7977.54) for Android to a small percentage of users. It'll become available on Google Play over the next few days. You can find more details about early Stable releases here.

This release includes stability and performance improvements. You can see a full list of the changes in the Git log. If you find a new issue, please let us know by filing a bug.

Krishna Govind
Google Chrome

Elevate your Google Meet experience for shared meeting spaces with Room Display mode

We are excited to introduce Room Display mode, a new dual-window experience for Google Meet on the web. Launching in beta, this feature is designed specifically for "Bring Your Own Device"  meeting spaces, where users connect a personal laptop to a shared external display, such as a TV or projector.



Joining in Room Display mode

Historically, setting up a meeting on a shared display (e.g. in a meeting room) meant manually dragging browser windows across screens, dealing with clunky display layouts, and risking showing your browsing windows. Room Display mode removes this complexity by automatically splitting your meeting interface into two dedicated views the moment you connect your device and join the call:

  • Shared View (TV/Monitor): A clean, distraction-free, entire-screen view on your external display. It displays remote participant video tiles and shared presentations edge-to-edge. You can choose to go full screen by clicking the full-screen window button.

Shared View (TV) in Room Display mode with and without and active presentation
  • Personal View (Laptop Controller): Your laptop screen becomes a private personal view and "control center" for the meeting. In addition to your persona
    l view of the active presentation, it houses the meeting controls, peripherals selection, presentation controls, the participant roster, chat panels, and your "Ask Gemini" panel. This ensures you can manage the meeting privately without displaying your browser window or personal workspace to the entire room.

Personal View (Laptop) in Room Display mode with an active presentation with speaker notes and with the Ask Gemini side panel open

Whether you’re hosting a team sync, leading a pitch, or watching a presentation, Room Display mode makes running meetings on a shared display and collaborating in hybrid environments more seamless and professional.

Note: This requires a Chromium-based browser (such as Google Chrome or Microsoft Edge) with Window Management permissions enabled.

Getting started

  • Admins: There is no admin control for this feature.
  • End users: This feature will be available by default when a laptop running a Chromium-based browser is connected to an external display (set to Extended mode, not mirrored). Room Display mode will be highlighted as the main option to join the call when the laptop detects  a shared external display like a meeting room TV. To help us improve the feature, provide feedback via the thumbs up/down icons and the feedback link in the Personal View UI. Visit the Help Center to learn more about joining meetings with Room Display mode.

Rollout pace

Availability

  • Business: Business Starter, Standard, and Plus
  • Enterprise: Enterprise Starter, Standard, and Plus
  • Other Editions: Frontline Starter, Standard, and Plus; Essentials Starter, Enterprise Essentials, and Enterprise Essentials Plus; Nonprofits

Resources

Announcing v25.1 of the Google Ads API

Today we are announcing the release of v25.1 of the Google Ads API. To use the new capabilities, you must upgrade your client libraries and client code. All the updated client libraries and code examples have been published.

Come join us for a live walkthrough of this release in our "Google Ads API Release Highlights" event on Discord or our Ads Developers YouTube Live tomorrow (August 20th at 10am ET). This will also be recorded and posted on YouTube for those who can’t make the live events. If you have any questions or want to discuss this post, reach out to us in the #ads-api channel on Discord.

New Features

Here are the highlights of what’s new in v25.1:

Getting Started

Google Ads API v25.1 is a drop-in upgrade for v25. If you use our client libraries, download the latest version of your client library to start using these features. For a full list of changes, please review the official release notes. If you have any questions or want to discuss this post, please reach out to us on our “Google Advertising and Measurement Community” Discord server.

For technical support issues, please reach out to the Google Ads API support channel.

Preparing your app for broader memory limits

Posted by Blair Harmon, Director of Product Management, Android Platform


A great user experience is central to Android's mission, and delivering on that promise requires keeping devices fast, responsive, and reliable. This is why memory optimization is more critical than ever. Across the ecosystem, new devices are maintaining or even decreasing their physical memory capacity in response to memory price increases, yet users continue to expect the same seamless, high-performance app experience.

In Android 17, we introduced per-app memory limits, starting with Pixel devices, to help protect the overall user experience from applications using excess memory and causing system-wide slowdowns. Over the coming year, an increasing number of manufacturers will leverage the Android per-app memory limits across their portfolio of device RAM configurations from 4GB to 16GB+ devices. If your app exceeds these limits, it will be slowed down and may be terminated. Optimizing your app's memory footprint is essential to preventing OS throttling and maintaining a seamless user experience.

In this post, we’ll explore how these limits work under the hood, how to measure your memory footprint using new Android vitals metrics, and actionable steps to optimize your app or game.

Understanding Memory Limits

When your app exceeds its memory budget, Android takes progressive action to protect device responsiveness:

  1. zRAM Swapping: If your app reaches its allocated limit, the system forces your app's pages into zRAM (compressed RAM). While zRAM prevents immediate eviction, compressing and decompressing pages adds CPU overhead, which can result in noticeable UI jank and experience slowdowns.
  2. Process Termination: If your app continues to increase its memory usage beyond the zRAM threshold, it will be terminated by the system. To determine if your app session was impacted by these constraints in the field, you can call getDescription() within ApplicationExitInfo. If the system applied a limit, the exit reason is reported as REASON_OTHER and the description string will contain "MemoryLimiter:AnonSwap". You can also leverage trigger-based profiling using TRIGGER_TYPE_ANOMALY to automatically capture heap dumps when the memory limit is reached.

To learn more about per-app memory limits and system enforcement, review the Android 17 App Memory Limits documentation. To test your application on different device configurations use the Memory Limiter adb commands.

Monitoring and Diagnosing Memory Issues

You can't optimize what you can't measure. Identifying memory leaks, excessive heap allocations, and Out-Of-Memory (OOM) crashes across the Android ecosystem requires leveraging complementary monitoring tools:

  • Macro-level health with Android vitals: For broad, population-level visibility without additional overhead, Google Play Console’s Android vitals provides essential metrics like Memory Usage (Anonymous RSS + swap) and Bitmap Memory Usage. This gives you a clear snapshot of memory distribution across different process states (foreground, background, user-perceived services, and cached) and RAM class ranges, helping you spot memory outliers.
  • Memory Limiter exits & OOM tracking with Firebase Crashlytics: To stay informed about severe memory degradation before it impacts your key metrics, Crashlytics version 20.1.0 introduces additional debug data to help you catch, prioritize, and fix Out-Of-Memory exceptions and memory limiter kills. Tracking these events alongside custom logs and key-value metadata gives you immediate context into process status when a memory failure occurs.
  • In-field traces with ProfilingManager: For teams able to maintain a performance observability framework, the ProfilingManager API introduced in Android 15 (API level 35) allows your app to programmatically request and collect detailed memory debug artifacts such as Java heap dumps and heap profiles directly from production devices. You can also trigger heap dump captures based on specific system signals, such as TRIGGER_TYPE_OOM and TRIGGER_TYPE_ANOMALY.

Read our documentation to learn more about other memory monitoring techniques.

Summary & What's Next

With Android broadening per-app memory limits across all RAM classes, now is the time to audit your memory footprint:

  1. Prioritize memory optimizations: Prevent your app from being impacted by app memory limits by using best practices.
  2. Monitor memory use: Monitor your app’s memory behavior to detect and resolve anomalous behavior.
  3. Optimize your game: Follow the latest guidance for games and complex multimedia apps to maximize memory savings across process states.

Helpful Resources & References

Early Stable Update for Desktop

The Stable channel has been updated to 152.0.7977.54/.55 for Windows and Mac as part of our early stable release to a small percentage of users. A full list of changes in this build is available in the log.

You can find more details about early Stable releases here.

Interested in switching release channels?  Find out how here. If you find a new issue, please let us know by filing a bug. The community help forum is also a great place to reach out for help or learn about common issues.


Daniel Yip

Google Chrome