title: Clearification: Would an Observable notify onComplete() after it calls onError()?
body: <p>I need to release resources when a stream is finished, either onError or onComplete. Reading from the <a href="http://reactivex.io/documentation/contract.html" rel="nofollow noreferrer">ReactiveX The Observable Contract</a> on Notification it saids </p>
  
  <blockquote>
    <p>An Observable may make zero or more OnNext notifications, each
    representing a single emitted item, and it may then follow those
    emission notifications by either an OnCompleted or an OnError
    notification, but not both. </p>
  </blockquote>
  
  <p>Am I correct to put the cleanup call in both onError and onComplete notification? like so:</p>
  
  <pre><code>.subscribe(
      //onNext
      completable -&gt; Log.d(LOG_TAG,"done"),
      //onError
      throwable -&gt; {
        Log.d(LOG_TAG,"error");
        serviceCleanup();
      },
      //onComplete
      this::serviceCleanup
  );
  </code></pre>
  
  <p>eg. just for future documentation purposes so I can explain it to others, and myself.</p>