zoukankan      html  css  js  c++  java
  • 使用SharedPreferences即时存储之后,不能即时获取到数据

    在这里简介一下我所遇到的情况,由于情况非常特殊,所以我就来记录一下自己在这个方面的经历!

    事由:在我所做的app中有一个视频的播放功能,因为之前做优化的时候。我听说对于视频这种比較耗费资源的应该给他独自开一个进程。

    这样会使得app更加流畅。

    然后,我就依照这样去做了,给视频播放独自开辟了一个进程!然后也就是说我的app中存在了两个进程,一个是默认的进程。一个是我所指定开辟的进程。然后,在视频播放页面的下方实用户对该视频进行评论的功能。而别人也能够对已对该视频进行评论的人进行回复、赞等操作。

    可是前提是对已评论该视频的用户进行回复、赞的操作必需要用户已登录该app,成为当前用户(我对是否已经登陆的用户使用sharedPreference.getToken()是否为空进行推断。因为当用户登陆成功之后。我会使用sharedPreference.saveToken()来存储用户的登陆记录)。所以。依照这个思路。我先进入到了视频播放页面(此时我还未登陆)。对已经对该视频评价的用户点赞。因为我是未登录用户进行了操作,通过sharePreference.getToken()进行推断 为 空 ,然后我被强制进入到登陆页面,然后登陆成功后。

    再次操作点赞。结果意外发生了!我不能获得存储已登陆成功的存储记录。

    后来。我经过多种的尝试。验证是不是我的參数或者是什么调错了方法。搞了一整天才摸索到原来是两个独立进程的问题!

    我尝试验证期间,假设我在默认的进程中进行了浏览过程中登陆然后进入视频的播放页面。在播放页面依旧能够通过sharedPreference.getToken()得到登陆成功的记录。

    可是我假设是在第二个独立进程中,播放页面进行登陆存储成功的登陆记录。那么,即使存储成功之后也不能即时获取存储记录数据。且获取到的数据为空。

    我的处理方法是,统一一个进程app。

  • 相关阅读:
    django模型层(二)多表操作
    django模型层(一)单表操作
    模板系统
    HTTP协议web开发知识点
    视图函数
    URL路由系统
    web框架的本质
    MySQL多表查询
    MySQL单标查询
    列表渲染
  • 原文地址:https://www.cnblogs.com/bhlsheji/p/5227687.html
Copyright © 2011-2022 走看看