# How Android M Changed String Storage and Removed String.value

DevFeed: [How Android M Changed String Storage and Removed String.value](<https://devfeed.tech/articles/dude-where-s-my-char-15614.md>)

Original publisher: [Read original article](<https://developer.squareup.com/blog/dude-wheres-my-char>)

Author: P-Y Ricau

Published: 2015-07-20T16:09:00Z

Content type: article

Language: en

Sources: [Square Corner Blog RSS Feed](<https://devfeed.tech/sources/square-corner-blog-rss-feed.md>)

Topics: [Android](<https://devfeed.tech/topics/android.md>), [Java](<https://devfeed.tech/topics/java.md>), [cpu](<https://devfeed.tech/topics/cpu.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [cpu](<https://devfeed.tech/tags/cpu.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [java](<https://devfeed.tech/tags/java.md>), [memory](<https://devfeed.tech/tags/memory.md>)

## AI overview

This article explains how Android M changed Java string storage by inlining character data into the String object, removing the separate char array and the offset field. It discusses the effects on LeakCanary heap-dump parsing, substring memory retention, object size, and spatial locality.

## Source excerpt

Looking for String.value in Android M