Want to take your software engineering career to the next level? Join the mailing list for career tips & advice Click here


A preferences-backed key-value store

Subscribe to updates I use Remember

Statistics on Remember

Number of watchers on Github 524
Number of open issues 2
Average time to close an issue 14 days
Main language Java
Average time to merge a PR 1 day
Open pull requests 0+
Closed pull requests 0+
Last commit over 5 years ago
Repo Created over 5 years ago
Repo Last Updated over 2 years ago
Size 263 KB
Organization / Authortumblr
Latest Releasev1.0
Page Updated
Do you use Remember? Leave a review!
View open issues (2)
View Remember activity
View on github
Book a Mock Interview With Me (Silicon Valley Engineering Leader, 100s of interviews conducted)
Software engineers: It's time to get promoted. Starting NOW! Subscribe to my mailing list and I will equip you with tools, tips and actionable advice to grow in your career.
Evaluating Remember for your project? Score Explanation
Commits Score (?)
Issues & PR Score (?)


An in-memory data store backed by shared preferences, for Android.

This is a key-value store with some nice properties:

  1. Speed. Everything is loaded into memory so reads can happen on the UI thread. Writes and deletes happen asynchronously (with callbacks). Every public method is safe to call from the UI thread.

  2. Durability. Writes get persisted to disk, so that this store maintains state even if the app closes or is killed.

  3. Consistency. Doing a write followed by a read should return the value you just put.

  4. Thread-safety. Reads and writes can happen from anywhere without the need for external synchronization.

Note that since writes are asynchronous, an in-flight write may be lost if the app is killed before the data has been written to disk. If you require true 'commit' semantics then Remember is not for you.


Grab the artifact via JCenter. Include JCenter as a repository in your build.gradle file:

repositories {

And add Remember to your dependencies:

dependencies {
    compile (group: 'com.tumblr', name: 'remember', version: '1.0.0', ext: 'aar')


When your app starts up, initialize Remember. This only has to be done once, and should happen in your app's onCreate():

public void onCreate() {
    Remember.init(getApplicationContext(), "com.mysampleapp.whatever");

(Note that this is the Application-level onCreate(), NOT the Activity onCreate(). Check out the sample app for an example.)

Now you can freely use Remember from anywhere in your app:

Remember.putString("some key", "some value");
String value = Remember.getString("some key", "");


Right here

Sample app

Clone and build this repo in Android Studio to see an example of a sample app. The app simply increments a counter stored in Remember and tells you the value.


Michael Lapadula: mlapadula@gmail.com


Copyright 2015 Tumblr, Inc.

Licensed under the Apache License, Version 2.0 (the License); you may not use this file except in compliance with the License. You may obtain a copy of the License at apache.org/licenses/LICENSE-2.0.

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an AS IS BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Remember open issues Ask a question     (View All Issues)
  • almost 4 years Update
  • almost 5 years NPE during initialization
Remember questions on Stackoverflow (View All Questions)
  • Remember and Repopulate File Input
  • Rails - Ransack won't remember user choice for certain select form item
  • ASP.MVC 5 two factor authentication remember browser not working
  • How to remember button click by checkbox
  • How do I 'seed' using GKRandomSource from Swift's Gameplaykit to remember the shuffle between sessions
  • Spring security - remember-me authentication with multiple authentication providers
  • Windows 10 tablet mode Registry setting: Remember what I last used
  • 'Remember Property' pattern and the property used in RadioButtonGroup
  • Implementation of "Remember me" in a Rails application
  • Why does MVC 5 Remember Me fail with FireFox and Chrome?
  • remember me in laravel 5
  • Does Mailchimp remember deleted subscribers
  • Does anyone remember how to fix this rendering in IE11?
  • Laravel remember logged in user was set default
  • Laravel 5 Authentification issue with "remember"
  • Implement remember me for multiple accounts/credentials?
  • Remember me functionality and Token in Angularjs
  • How to implement remember me in angularjs, using authToken?
  • Color treenodes does not remember when does copy to treeview
  • Remember user selection for microphone
  • PHP Session Remember Me Functionality
  • PHP Secure Remember Me Cookie Login Function
  • How long does Chrome remember a 301 redirect?
  • Slider that needs to remember the current image and from ther go next or back
  • Opera incognito/localhost webkitGetUserMedia not remember choice
  • Symfony2 remember me on login manually
  • How to make my program actually remember username and password and not have to register everytime
  • How to remember url?
  • how to send session's content to a remember me cookie?
  • QtCreator refuses to remember target device
Remember list of languages used
Remember latest release notes
v1.0 v1.0

1.0 release of Remember.

Other projects in Java
Powered by Autocode - Instant Webhooks, Scripts and APIs
Autocode logo wordmark