похоже, что содержимое в color.xml было не в обычном формате. содержимое в автоматически сгенерированном файле color.xml имеет значение цвета для проекта.
для исправления, скопируйте и вставьте этот код в файл color.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="colorPrimary">#008577</color>
<color name="colorPrimaryDark">#00574B</color>
<color name="colorAccent">#D81B60</color>
</resources>
, если contnet в файле color.xml всегда пропадает, когда вы создаете новый проект студии Android, тогда исправление быть: -
1) нажмите на новый файл, Invalidate Cache / Restart
, если нет, то переустановите Android Studio
Я нашел следующее в исходном коде MVC ASP.NET:
public virtual void RenderView(ViewContext viewContext) {
// TODO: Remove this hack. Without it, the browser appears to always load cached output
viewContext.HttpContext.Response.Cache.SetExpires(DateTime.Now);
ViewUserControlContainerPage containerPage = new ViewUserControlContainerPage(this);
// Tracing requires Page IDs to be unique.
ID = Guid.NewGuid().ToString();
RenderViewAndRestoreContentType(containerPage, viewContext);
}
Таким образом, это объясняет почему мой Expires
заголовок всегда является текущим временем. Однако я действительно не думаю, что это - то, что сбивает с толку Chrome becasue, я создал самую простую страницу следующим образом, и Chrome все еще вполне счастливо возвращался к серверу и давал мне 200
public partial class test : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
TimeSpan cacheDuration = TimeSpan.FromSeconds(33);
var cache = Response.Cache;
cache.SetCacheability(HttpCacheability.Public);
cache.SetExpires(DateTime.Now.Add(cacheDuration));
cache.SetMaxAge(cacheDuration);
cache.AppendCacheExtension("must-revalidate, proxy-revalidate");
}
}
Я в значительной степени пришел к заключению, что это - Chrome, делающий что-то ДЕЙСТВИТЕЛЬНО ДЕЙСТВИТЕЛЬНО эксцентричное с кэшированием.
Я упростил его до самого низкого уровня - получение jQuery с сервера Google.
Я ввел:
http://ajax.googleapis.com/ajax/libs/jquery/1.3.1/jquery.min.js
к Chrome и Скрипачу придумал следующие 200 запросов:
Requests started at: 22:58:00:7756
Responses completed at: 22:58:03:5020
Total Sequence time: 00:00:02.7263880
DNS Lookup time: 531ms
TCP/IP Connect time: 63ms
RESPONSE CODES
--------------
HTTP/200: 1
Заголовки были следующим образом (примечание Истекает, спустя 1 год после этого сегодня):
Cache-Control: public, max-age=31536000
Date: Wed, 18 Feb 2009 06:58:01 GMT
Expires: Thu, 18 Feb 2010 06:58:01 GMT
Vary: Accept-Encoding
и затем я ожидал несколько секунд и совершал нападки, входят - в ту же вкладку. Скрипач придумал ДРУГОГО ** 200* запрос:
Requests started at: 22:58:09:2516
Responses completed at: 22:58:12:3999
Total Sequence time: 00:00:03.1482360
RESPONSE CODES
--------------
HTTP/200: 1
И заголовки были:
Cache-Control: public, max-age=31536000
Date: Wed, 18 Feb 2009 06:58:09 GMT
Expires: Thu, 18 Feb 2010 06:58:09 GMT
Vary: Accept-Encoding
Очевидно, это не то, что я ожидал.
Да - Принятый закодированный был тем же для обоих запросов.
Да - третий запрос дал мне 304
Это было на новой установке Chrome, что я никогда не делал никакой разработки на - и на котором я только что установил Скрипача впервые.
Я не могу ждать, чтобы кто-то объяснил это мне. На данный момент я сдаюсь - я думаю, что мой код кэширования и истечения прекрасен. Кроме того, ASP.NET, который MVC, кажется, вызывает, Истекает, чтобы быть текущим временем. Это, очевидно, не фактор в моем примере Google.
Я думаю, что Chrome слишком умен, и это должно быть ошибкой - я нахожусь на версии 1.0.154.48.